grep -l "this is a test"
将列出$pwd
包含指定字符串的所有文件。但是
grep -vl "this is a test"
将列出包括这些文件在内的所有文件,因为包含该字符串的文件也包含不包含该字符串的行。
我可以建立第一组的列表,然后列出目录中不在该列表中的所有文件,但有没有更简单的方法?我通常使用bash
,但我可以切换到csh
或即使perl
它会有所帮助。
答案1
Fgrep -o -r -i -L 字符串 * -o 仅报告文件 -r 递归到子目录 -i 不区分大小写 -L, --files-without-match 抑制正常输出;而是打印每个输入文件的名称,通常不会打印任何输出。扫描将在第一次匹配时停止。