重複行を数えるにはuniq -c
重複行のあるデータ:
#データ例 $ echo -e "A\nB\nC\nB\nA\nA" A B C B A A
で、ざっくり重複数を数えようとsortコマンドで並べ替えたのはいいが、久しぶりだったので重複行をまとめるのに sort コマンド側の -u (uniq) オプションを使ってしまって、重複件数が数えられなかった。
$ echo -e "A\nB\nC\nB\nA\nA" | sort -u A B C
なんどか、sortコマンドのヘルプやらマニュアルページやら眺めたが、(当然ながら)あると思い込んでいるその機能が見当たらない。
そうではなく、さらに uniq コマンドに渡して -c (count) オプションを使うべきだった。
$ echo -e "A\nB\nC\nB\nA\nA" | sort | uniq -c 3 A 2 B 1 C