Awk更便宜的
更便宜的sort -n |唯一的-c |排序-n
我有一個未排序的 IP 列表,我需要對其進行計數和排序。
我使用
sort -n | uniq -c | sort -n
並且效果很好,但我想要更便宜的東西……當然awk
可以做到這一點?輸入
1.1.1.1 2.2.2.2 1.1.1.1 3.3.3.3 2.2.2.2 1.1.1.1
輸出
3 1.1.1.1 2 2.2.2.2 1 3.3.3.3
使用單個awk程序:
awk '{ a[$1]++ }END{ for(i in a) print a[i],i }' file
輸出:
3 1.1.1.1 2 2.2.2.2 1 3.3.3.3
要輸出按出現次數降序排序的記錄,請使用以下 GNU awk方法:
awk 'BEGIN{ PROCINFO["sorted_in"]="@val_num_desc" }{ a[$1]++ } END{ for(i in a) print a[i],i }' file