使用 grep 计算在正则表达式模式中找到的每个单词的出现次数

Omn*_*ent 3 grep

我正在使用以下内容来获取使用grep和的出现次数wc

grep -iEo "(red|white|blue)" somefile.txt | wc -l
Run Code Online (Sandbox Code Playgroud)

但是,这输出了一个数字。相反,我想要类似的东西:

red: 2
white: 1
blue: 0
Total: 3
Run Code Online (Sandbox Code Playgroud)

用grep可以实现这样的事情吗?

hee*_*ayl 10

sort和获取帮助uniq

grep -iEo "(red|white|blue)" somefile.txt | sort | uniq -c
Run Code Online (Sandbox Code Playgroud)
  • sort 对输出进行排序

  • uniq -c 获取频率