shell – 如何grep包含一些二进制数据的文本文件?

前端之家收集整理的这篇文章主要介绍了shell – 如何grep包含一些二进制数据的文本文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
grep返回
Binary file test.log matches

例如

echo    "line1 re \x00\r\nline2\r\nline3 re\r\n" > test.log  # in zsh
echo -e "line1 re \x00\r\nline2\r\nline3 re\r\n" > test.log  # in bash
grep re test.log

我希望结果将显示line1和line3(总共两行)。

是否可以使用tr将不可打印的数据转换为可读数据,让grep再工作?

您可以通过cat -v运行数据文件,例如
$ cat -v tmp/test.log | grep re
line1 re ^@^M
line3 re^M

其然后可以被进一步后处理以移除垃圾;这最类似于关于使用tr作为任务的查询

猜你在找的Bash相关文章