首页 > 代码库 > grep 不打印匹配到的字符串

grep 不打印匹配到的字符串

在使用grep 搜索到字符串时,输出信息如下:

Matched to a binary file:log

从打印消息上看,这个文本文件被当作二进制文件。

为什么?

用vim 打开log 发现原因,log文件有个^@字符,这其实就是c语言字符串结尾的‘\0‘,被哪位粗心的哥们写日志里了。

现在要做的就是删除‘\0‘

cat log | tr -d ‘\000‘

重新grep, OK 打印出搜索到的字符串。