我有一个文本文件,其中包含一行数字,例如0 100 90 80 0 70 60
我试图确定0号单独出现的次数(在这种情况下,两次)。
我尝试使用此方法来计算空白,
grep -o " 0 " file | wc -l
但它并没有考虑到第一个" 0"因为它前面没有空格。
答案 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