uniq -c
只能获得第2列的出现次数,然后根据出现次数对其进行排序吗?此外,排序后,我不想显示出现次数。怎么做?
这是我的示例输入:
111111111 40
222222222 50
333333333 60
111111111 40
222222222 60
333333333 50
要成为:
222222222 50
222222222 60
333333333 50
333333333 60
111111111 40
答案 0 :(得分:1)
$ cat file
111111111 40
222222222 50
333333333 60
111111111 40
222222222 60
333333333 50
$ sort file | uniq -c | sort -n -t ' ' -k 1 | awk '{print $2" "$3}'
222222222 50
222222222 60
333333333 50
333333333 60
111111111 40
$
sort file | uniq -c
按顺序为您提供3列:num(occurences)
col1 col2
sort -n -t ' ' -k 1
根据num(出现次数)对管道输入进行排序(数字-n
)
根据第2个空格分隔的空格(由t
开关指定)
柱/键(-k 2
)awk '{print $2" "$3}'
只打印第2和第3个字段
删除出现次数字段。