我在Linux中有一个包含字符串的文件:

CALLTMA
Starting
Starting
Ending
Starting
Ending
Ending
CALLTMA
Ending

我需要任何细绳的数量。#结束,开始,调用。在我的例子中,我需要获得:
CALLTMA : 2
Starting: 3
Ending : 4

我可以在执行3个命令时获得此输出:
grep -i "Starting" "/myfile.txt" | wc -l
grep -i "Ending" "/myfile.txt" | wc -l
grep -i "CALLTMA" "/myfile.txt" | wc -l

我想知道是否可以只使用一个命令获得相同的输出。
我试着运行这个命令
grep -iE "CALLTMA|Starting|Ending" "/myfile.txt" | wc -l

但这又回到了所有的巧合。谢谢你的帮助。

最佳答案

使用sortuniq

sort myfile.txt | uniq -c

-c将计数添加到唯一行。如果要按频率对输出进行排序,请添加
| sort -n

最后(如果您想要降序,则更改为-nr)。

关于linux - 使用grep命令获得多个模式的重合总数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35581976/

10-10 06:45