unix脚本排序显示项目数量?

时间:2013-07-22 17:43:21

标签: linux bash shell unix

我有一个shell脚本,它会抓取文件的结果,然后调用sort -u来获取唯一的条目。有没有办法让排序也告诉我每个条目有多少?所以输出将是这样的:

user1 - 50
user2 - 23
user3 - 40

etc..

3 个答案:

答案 0 :(得分:5)

使用sort input | uniq -cuniq执行-usort -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',它将反转计数,因为我通常首先想要更高的计数行。)