假设我想计算文本中“o”字符的数量
oooasdfa
oasoasgo
我的第一个想法是grep -c o
,但这会返回2
,因为grep
会返回匹配行的数量,而不是匹配的总数。我可以使用grep
来改变这个标志吗?或许我应该使用awk
或其他命令?
答案 0 :(得分:5)
这将打印匹配数:
echo "oooasdfa
oasoasgo" | grep -o o | wc -l
答案 1 :(得分:0)
你可以使用shell(bash)
$ var=$(<file)
$ echo $var
oooasdfa oasoasgo
$ o="${var//[^o]/}"
$ echo ${#o}
6
AWK
$ awk '{m=gsub("o","");sum+=m}END{print sum}' file
6