####sortとuniqによる集計
「sortで並び替えてuniqで数える」
$ seq 5 | awk '{print $1%2 ? "奇数":"偶数"}'
奇数
偶数
奇数
偶数
奇数
$ seq 5 | awk '{print $1%2 ? "奇数":"偶数"}' | sort
奇数
奇数
奇数
偶数
偶数
$ seq 5 | awk '{print $1%2 ? "奇数":"偶数"}' | sort | uniq -c
3 奇数
2 偶数
~$ seq 5 | awk '{print $1%2 ? "奇数":"偶数"}' | sort | uniq -c | awk '{print $2,$1}'
奇数 3
偶数 2
sortは入力された行を辞書順に並び替える。
uniqは重複する行を消す。ただし、消したい行はsortの出力のように連続して並んでいる必要がある。