一个应用程序有时会(但不是经常)在日志中输入一些不正确的(二进制)字符。仅打印与其匹配的信息,而不打印匹配的行。
$ grep -e error app.log
Binary file app.log matches
我怎样才能简单地省略二进制字符来 grep 日志?
less
正确处理文件,将二进制字符打印为一些转义序列,因此也许一些管道less
可以grep
解决问题。
答案1
您可以告诉grep
将源文件解释为文本文件:
grep -a -e error app.log
考虑到grep
不会转义二进制字符,因此您应该将输出通过管道传输到less
或od -c
以防止字符对终端产生可能的负面影响。