如何打印每行图案的计数?

5 linux awk shell-script csv

我需要在每行的末尾打印匹配字符串的计数。

匹配示例foo

foo,bar,foo,foo
bar,foo,bar,bar
foo,foo,bar,bar
Run Code Online (Sandbox Code Playgroud)

结果 :

foo,bar,foo,foo,3
bar,foo,bar,bar,1
foo,foo,bar,bar,2
Run Code Online (Sandbox Code Playgroud)

我已经检查了这个链接(如何计算每行中特定字符的数量?)但没有运气。

Siv*_*iva 10

我们可以使用 awk 和 gsub 来获取出现次数。

 awk '{print $0","gsub(/foo/,"")}' file
Run Code Online (Sandbox Code Playgroud)

输出:

foo,bar,foo,foo,3
bar,foo,bar,bar,1
foo,foo,bar,bar,2
Run Code Online (Sandbox Code Playgroud)