linux 如何在grep中抑制二进制文件匹配结果[已关闭]

vjrehmav  于 2023-11-17  发布在  Linux
关注(0)|答案(2)|浏览(100)

**已关闭。**此问题不符合Stack Overflow guidelines。目前不接受回答。

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
6年前关闭。
Improve this question
在Linux中使用grep时,结果中经常会包含很多“二进制文件XXX匹配”,对此我并不在意,如何抑制这部分结果,或者如何排除grep中的二进制文件?

ryevplcw

ryevplcw1#

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

deyfvvtc

deyfvvtc2#

这是一个老问题,它已经得到了回答,但我想我会把--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$

字符串

相关问题