Command-Line-Interface

使用 grep 和文件模式進行遞歸文本搜尋

  • March 26, 2019

鑑於此範例文件夾結構:

/folder1/file1.txt
/folder1/file2.djd
/folder2/file3.txt
/folder2/file2.fha

如何*.txt使用“/”對所有文件進行遞歸文本搜尋grep

"grep -r <pattern> *.txt"從“/”執行時失敗,因為該文件夾中沒有.txt文件。)

我的 GNU Grep 版本對此有一個開關:

grep -R --include='*.txt' $Pattern

描述如下:

--include=GLOB

僅搜尋其基本名稱與 GLOB 匹配的文件(使用萬用字元匹配,如 –exclude 中所述)。

如果您有大量文件,將 xargs 合併到命令中以避免“參數列表太長”錯誤會很有用。

find . -name '*.txt' -print | xargs grep <pattern>

引用自:https://serverfault.com/questions/9822