grep没有使用BOM

时间:2013-10-15 12:12:03

标签: bash byte-order-mark

我正在尝试grep来自文件的字符串,但grep不返回任何内容(即使字符串存在于文件中)。事实证明,该文件以ÿþ标记开头。如果我手动删除它然后grep工作。如何在不手动删除BOM的情况下使grep工作?

2 个答案:

答案 0 :(得分:1)

怎么样:

strings <file> | grep <pattern>

或者,查看grep命令的手册页。实际发生的是grep查看文件的前几个字节并确定它是二进制文件,因此无法搜索。您可以使用以下方法覆盖:

--binary-files=text

答案 1 :(得分:1)

您也可以将cat与-v(可见)选项一起使用:

cat -v file | grep pattern