使用grep计算一个单词在文件中重复的次数

lin*_*cao 4 bash shell grep

问题是这样的:

例如,我有一个文件"a.xml".在这个文件中,它只是一行

<queue><item><cause><item>
Run Code Online (Sandbox Code Playgroud)

我想知道<item>发生了多少次,在这种情况下它是2.

但是,如果我跑:

grep -c "<item>" a.xml 
Run Code Online (Sandbox Code Playgroud)

它只会给我1,因为grep会在匹配第一个时立即停止<item>.

所以我的问题是如何使用简单的shell/bash命令返回<item>发生的次数?

它看起来很简单,但我找不到一个好方法.有任何想法吗?

Mil*_*Roo 9

您可以尝试以下方法:

grep -o "<item>" a.xml | wc -l
Run Code Online (Sandbox Code Playgroud)