並べ替えられていない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
答え1
シングルアップロセス:
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 'BEGIN{ PROCINFO["sorted_in"]="@val_num_desc" }{ a[$1]++ }
END{ for(i in a) print a[i],i }' file