我尝试使用 grep -rIL 显示目录(包括子目录)中的二进制文件,但尝试后我不确定输出是否正确。有人可以告诉我 grep -rIL 是否输出二进制文件或者是否有更好的方法使用 grep 显示二进制文件?
答案1
手册页说:
-I
处理二进制文件就好像它不包含匹配数据一样;这相当于 --binary-files=without-match 选项。
这看起来也是这样做的:
$ printf 'foo\0bar\0' > binary.txt
$ echo hi > hello.txt
$ grep -rIL -e foo .
./hello.txt
./binary.txt
$ grep -rL -e foo .
./hello.txt
$
与-I
二进制文件列出一样,不匹配的非二进制文件;没有它,就不是。