我在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
但这又回到了所有的巧合。谢谢你的帮助。
最佳答案
使用sort
和uniq
:
sort myfile.txt | uniq -c
-c
将计数添加到唯一行。如果要按频率对输出进行排序,请添加| sort -n
最后(如果您想要降序,则更改为
-nr
)。关于linux - 使用grep命令获得多个模式的重合总数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35581976/