计算特定数字的出现次数

时间:2018-03-14 01:49:29

标签: bash grep

我有一个文本文件,其中包含一行数字,例如0 100 90 80 0 70 60

我试图确定0号单独出现的次数(在这种情况下,两次)。

我尝试使用此方法来计算空白,

grep -o " 0 " file | wc -l

但它并没有考虑到第一个" 0"因为它前面没有空格。

3 个答案:

答案 0 :(得分:3)

grep -ow '0' num.txt | wc -l

-w单词匹配可以有效地对每个模式执行此操作:

grep -o '\b0\b' file | wc -l

\b是一个单词边界。

有趣的是grep -cow无法计算匹配数,这让我感到沮丧。

答案 1 :(得分:2)

grep -Po '(^|\s)0($|\s)' file | wc -l

您只需测试零之前是否有空格或行的开头

答案 2 :(得分:0)

我不确定这是否是最佳方式,但您可以通过以下方式使用xargs及其-n标记:

xargs -n1 < file  | grep ^0$ | wc -l