centos使用grep搜索时出现Binary file catalina.out matches错误异常。其原因是: 因为这个查询的文件某些情况下会被认为是二进制文件。

解决方法:grep 后面关键字前面加个 -a 就好了

例如: grep -a "xxx" a.log

我们使用grep –help 可以查看到-a的解释。-a, --text equivalent to --binary-files=text。即grep -a 的意思是不要忽略二进制数据,让二进制文件等价于文本文件。

注:zgrep遇到同样问题,解决方法也是类似。