如何 grep 包含一些二进制字符的文件?

如何 grep 包含一些二进制字符的文件?

一个应用程序有时会(但不是经常)在日志中输入一些不正确的(二进制)字符。仅打印与其匹配的信息,而不打印匹配的行。

$ grep -e error app.log 
Binary file app.log matches

我怎样才能简单地省略二进制字符来 grep 日志?

less正确处理文件,将二进制字符打印为一些转义序列,因此也许一些管道less可以grep解决问题。

答案1

您可以告诉grep将源文件解释为文本文件:

grep -a -e error app.log

考虑到grep不会转义二进制字符,因此您应该将输出通过管道传输到lessod -c以防止字符对终端产生可能的负面影响。

相关内容