通过标准unix命令获取正则表达式的匹配总数

Tre*_*ham 1 regex command-line grep

假设我想计算文本中"o"字符的数量

oooasdfa
oasoasgo
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是grep -c o,但这会返回2,因为grep返回匹配行的数量,而不是匹配的总数.我可以使用一个标志grep来改变它吗?或许我应该使用awk,或其他一些命令?

ngo*_*eff 5

这将打印匹配数量:

echo "oooasdfa
oasoasgo" | grep -o o | wc -l
Run Code Online (Sandbox Code Playgroud)