我需要帮助,我有一个文件output.txt
ttl 128
ttl 128
ttl 128
ttl 128
ttl 1
ttl 128
ttl 255
ttl 1
ttl 64
ttl 128
ttl 128
ttl 1
我需要计算在文件行中显示相同值的次数。最终结果必须是这样的:
ttl 128 - 7 times
ttl 64 - 1 time
ttl 255 - 1 time
ttl 1 - 3 times
我希望你能帮助我。我正在尝试使用grep命令。
非常感谢
答案 0 :(得分:4)
您可以使用uniq
和sort
:
<output.txt sort -V | uniq -c
输出:
3 ttl 1
1 ttl 64
7 ttl 128
1 ttl 255
答案 1 :(得分:3)
sort,uniq足以完成这项工作。但要获得与所述相同的输出格式,请尝试使用此awk行
awk '{a[$0]++}END{for(x in a){t=a[x]>1?"times":"time";print x " - "a[x],t}} file
例如
times
,否则time
显示{。输出是:
ttl 1 - 3 times
ttl 64 - 1 time
ttl 128 - 7 times
ttl 255 - 1 time
:)
答案 2 :(得分:0)