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

Grep 如何计算AIX上每个文件的正则表达式匹配总数,grep,aix,Grep,Aix,Grep通常用于显示包含指定模式匹配项的行。在AIX中是否有任何方法可以显示每个搜索文件中模式的匹配总数?也就是说,每一行的每一场比赛都应该被计算在内 我尝试了grep-c模式文件名,但无论匹配行包含多少个匹配项,这只会对每个匹配行计算一次。您需要先匹配模式,然后计算匹配数 o开关将在新行上产生每个匹配项 然后数一数行的总数 比如: grep -o pattern filename | wc -l 查找b的3个实例。在此文件中: $ cat file a bc d be f bg h $ a

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


我尝试了grep-c模式文件名,但无论匹配行包含多少个匹配项,这只会对每个匹配行计算一次。

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

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

然后数一数行的总数

比如:

grep -o pattern filename | wc -l

查找b的3个实例。在此文件中:

$ cat file
a bc d be f
bg h

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

以上内容将适用于任何操作系统上的任何awk,当然旧的、损坏的awk除外。

与论坛网站不同,我们不使用感谢、感谢的帮助或签名。看,你想要什么输出?每一个新的匹配字符串在一个新行上?或者类似于每条匹配线的匹配数?或者仅仅是每个文件的总匹配数?我只需要每个文件的总匹配数。您在哪个版本的AIX上测试过这个?在7.1中,不支持该选项。