尋找所有不包含給定字串的文件

尋找所有不包含給定字串的文件

grep -l "this is a test" 將列出$pwd其中包含指定字串的所有檔案。但

grep -vl "this is a test" 將列出包括這些文件在內的所有文件,因為包含該字串的文件也包含不包含該字串的行。

我可以建立第一組的列表,然後列出目錄中不在該列表中的所有文件,但是有更簡單的方法嗎?我通常使用bash,但我可以切換到csh或 即使perl它會有所幫助。

答案1

fgrep -o -r -i -L string * -o 僅報告檔案 -r 遞歸到子目錄 -i 不區分大小寫 -L, --files-without-match 禁止正常輸出;相反,列印每個通常不會列印輸出的輸入檔案的名稱。掃描將在第一個匹配處停止。

相關內容