grep 命令中 wc -l 的含义

grep 命令中 wc -l 的含义

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。

相关内容