wc -l 是否显示在二进制文件中找到搜索字符串的次数?
-l, --lines 打印换行符数(我认为换行符是一个空行?)
grep --binary-files=text 'postal_code77586' formhistory.sqlite | wc -l
andy@7 ~/Downloads> grep --binary-files=text 'postal_code77586' formhistory.sqlite | wc -l
1
答案1
是的。-l 计算行数(在本例中来自 grep 命令的输出),-w 计算单词(字符串),-b 计算字符(字节)。
我个人会使用 grep 参数 -c 来获得相同的结果。在此示例中:
grep -c --binary-files=text 'postal_code77586' formhistory.sqlite
无需通向厕所的管道。
答案2
该程序wc
:
wc - print newline, word, and byte counts for each file
postal_code77586
非常有用。在您的示例中,它通过选项打印有多少行包含文本-l
。您有一行包含该文本。
这样使用的 grep / wc 命令对更适合文本文件。如果您的文件确实是二进制文件,那么换行符将仅仅是二进制流中的字符,并不真正表示“行”。
请注意,无论如何,如果换行符之间出现多次postal_code77586
,则计数仍然为 1。