【发布时间】:2014-01-10 21:38:30
【问题描述】:
问题是这样的:
例如,我有一个文件“a.xml”。在这个文件里面只有一行
<queue><item><cause><item>
我想知道<item>出现了多少次,在这个例子中是2。
但是,如果我运行:
grep -c "<item>" a.xml
它只会给我 1,因为 grep 一旦匹配第一个 <item> 就会停止。
所以我的问题是如何使用一个简单的 shell/bash 命令返回 <item> 出现的次数?
看起来很简单,但我就是找不到好办法。有什么想法吗?
【问题讨论】:
-
感谢大家这么快回答问题。需要指出的是,如果您在 windows 下使用 cmd 或 git bash 作为终端,那么 grep -o 选项将不起作用。让 grep -o 在 windows 下工作的方法是使用 Cygwin :)
-
并非如此。 Gnu grep 已移植到 Win32
-
@kurumi 我在 Win7 下尝试了“Git Bash”和“命令提示符”,但是 grep -o 不起作用。我应该更新/安装 Windows 的 grep 吗?
-
这里是 gnuwin32.sourceforge.net/packages/grep.htm