在使用grep 搜索到字符串时,输出信息如下:
Matched to a binary file:log
从打印消息上看,这个文本文件被当作二进制文件。
为什么?
用vim 打开log 发现原因,log文件有个^@字符,这其实就是c语言字符串结尾的‘\0‘,被哪位粗心的哥们写日志里了。
现在要做的就是删除‘\0‘
cat log | tr -d ‘\000‘
重新grep, OK 打印出搜索到的字符串。
grep 不打印匹配到的字符串,布布扣,bubuko.com
原文:http://my.oschina.net/guonaihong/blog/292251