2013-07-28 25 views

回答

4

您可以使用此命令。希望这能帮助你。

grep -o yourWord file | wc -l 
+0

如果一行包含两次该词怎么办? – delnan

+1

我的例子已经计算在内。你可以尝试一下,如果你想。 –

0

使用grep -c选项来计算搜索模式的出现次数。

grep -c searchString file 
+2

这是错误的。 'grep -c'不计数,但用于匹配行,而不是出现次数。 – Kent

0

awk的解决方案:

awk '{s+=gsub(/word/,"&")}END{print s}' file 

测试:

kent$ cat f 
word word word 
word 
word word word 

kent$ awk '{s+=gsub(/word/,"&")}END{print s}' f 
7 

,如果你想匹配一个确切的词可能需要添加单词边界。

0

是的,我知道你想要一个grep的解决方案,但我最喜欢的Perl与劳力士运营商不能在这里失踪...;)

perl -0777 -nlE 'say $n=()=m/\bYourWord\b/g' filename 
#        ^^^^^^^^ 

如果想要同比匹配YourWord与另一封状包围abcYourWordXYZ,使用

perl -0777 -nlE 'say $n=()=m/YourWord/g' filename 
相关问题