当在linux中使用grep时,结果经常包含很多“二进制文件XXX匹配”,我并不关心这些。如何抑制这部分结果,或如何排除grep中的二进制文件?
当前回答
这是一个老问题,它已经被回答了,但我想我把——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$
其他回答
有三个选项,你可以使用。-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 *
这是一个老问题,它已经被回答了,但我想我把——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$
推荐文章
- 在Bash中检查变量是否存在于列表中
- 查看PS命令的全部输出
- 在Windows中有像GREP这样的模式匹配实用程序吗?
- 如何从命令行将每两行合并为一行?
- Linux命令将域名转换为IP
- 如何从命令行在windows中找到mysql数据目录
- 匹配前后的Grep字符?
- (grep)正则表达式匹配非ascii字符?
- 有效地测试Linux上的端口是否打开?
- 如何从另一个文件A中删除文件B中出现的行?
- 对以制表符分隔的文件进行排序
- 使用sudo时未找到命令
- 当有命令行参数时,如何使用GDB分析程序的核心转储文件?
- 如何强制从另一个SSH会话分离屏幕?
- 如何将文件指针(file * fp)转换为文件描述符(int fd)?