在linux下使用grep时,结果往往包含很多“二进制文件XXX匹配”,我并不关心这些。如何抑制这部分结果,或者如何在grep中排除二进制文件?
发布于 2014-09-16 18:05:34
您可以使用以下三个选项。-I用于排除grep中的二进制文件。其他的用于行号和文件名。
grep -I -n -H
-I -- process a binary file as if it did not contain matching data;
-n -- prefix each line of output with the 1-based line number within its input file
-H -- print the file name for each match因此,这可能是运行grep的一种方式:
grep -InH your-word *发布于 2016-06-29 22:58:45
这是一个古老的问题,它已经得到了回答,但我想我应该在这里为任何想要使用它的人提供--binary-files=text选项。-I选项忽略二进制文件,但如果您希望grep将二进制文件视为文本文件,请使用-- binary -files=text,如下所示:
bash$ grep -i reset mediaLog*
Binary file mediaLog_dc1.txt matches
bash$ grep --binary-files=text -i reset mediaLog*
mediaLog_dc1.txt:2016-06-29 15:46:02,470 - Media [uploadChunk ,315] - ERROR - ('Connection aborted.', error(104, 'Connection reset by peer'))
mediaLog_dc1.txt:ConnectionError: ('Connection aborted.', error(104, 'Connection reset by peer'))
bash$https://stackoverflow.com/questions/25853722
复制相似问题