如何在grep中抑制二进制文件匹配结果

时间:2014-09-15 17:40:40

标签: linux grep

在linux中使用grep时,结果总是包含很多“二进制文件XXX匹配”,我不在乎。如何抑制这部分结果,或者如何在grep中排除二进制文件?

2 个答案:

答案 0 :(得分:229)

您可以使用三个选项。 -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 *

答案 1 :(得分:8)

这是一个老问题并且已经得到了解答,但我认为我将--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$