如何计算AIX上每个文件的正则表达式的匹配总数

时间:2015-05-08 06:31:59

标签: grep aix

Grep通常用于显示包含指定模式匹配的行。 AIX中是否有任何方法可以显示搜索到的每个文件中模式的匹配总数?也就是说,每一行中的每一场比赛都要计算在内。

我尝试了grep -c pattern filename,但只计算了每个匹配的行,但是它包含的匹配行数很多。

3 个答案:

答案 0 :(得分:3)

在此文件中查找b.的3次出现:

$ cat file
a bc d be f
bg h

$ awk '{c+=gsub(/b./,"")} END{print c+0}' file
3

以上内容适用于任何操作系统上的任何awk(当然除了旧的,破坏的awk)。

答案 1 :(得分:3)

grep -o foo filename.txt | wc -l

答案 2 :(得分:0)

您需要先匹配模式,然后计算匹配数。

-o开关将在新行上产生每个匹配。

然后只计算总行数。

类似的东西:

grep -o pattern filename | wc -l