我有一个shell脚本,它会抓取文件的结果,然后调用sort -u
来获取唯一的条目。有没有办法让排序也告诉我每个条目有多少?所以输出将是这样的:
user1 - 50
user2 - 23
user3 - 40
etc..
答案 0 :(得分:5)
使用sort input | uniq -c
。 uniq
执行-u
在sort -u
中执行的操作,但还有额外的-c
选项用于计算。
答案 1 :(得分:1)
Grep有一个-c开关来计算每个项目的出现次数..
grep -c needle haystack
将给出您可以根据需要排序的针数。
答案 2 :(得分:0)
给定一个排序列表,uniq -c
将显示该项目,以及多少。这将是第一列,所以我经常会这样做:
sort file.txt | uniq -c |sort -nr
排序中的-n将正确解析数字,如11之前的9(尽管使用'-r',它将反转计数,因为我通常首先想要更高的计数行。)