使用sed或grep计算一行中的正则表达式模式匹配?

Tyi*_*ilo 28 regex bash grep sed counting

我想计算一条线上的匹配数(或所有线,因为总是只有一条线).

我想要计算的不仅仅是每行一场比赛

echo "123 123 123" | grep -c -E "123" # Result: 1
Run Code Online (Sandbox Code Playgroud)

更好的例子:

echo "1 1 2 2 2 5" | grep -c -E '([^ ])( \1){1}' # Result: 1, expected: 2 or 3
Run Code Online (Sandbox Code Playgroud)

Sim*_*ker 50

您可以使用grep -o然后通过管道wc -l:

$ echo "123 123 123" | grep -o 123 | wc -l
3
Run Code Online (Sandbox Code Playgroud)

  • 今年你需要向圣诞老人请教一个新的grep.:) (13认同)