如何在这样的列表中计算出现的次数:
onion
apple
kiwi
orange
kiwi
orange
onion
kiwi
kiwi
orange
我需要列出每个唯一线发生的次数,例如
4 kiwi
3 orange
2 onion
1 apple
此外,行可能包含特殊字符和数字。
答案 0 :(得分:7)
我会在管道中使用一堆unix命令:
$ sort sample| uniq -c | sort -nrk 1
4 kiwi
3 orange
2 onion
1 apple
如果您需要限制输出,可以在命令行的末尾使用head -n <<size>>
。
Uniq需要对输入文件进行排序,这就是我首先在名为&#34; sample&#34;的文件上调用sort
的原因。之后,我们希望按照反向数字顺序在第一列上排序输出。