UNIX シェルでテキストファイルをばばーっと処理してる時に、
データ数となりがちな行数を数えるコマンドは良く知られてると思います。
$ wc -l file.txt
さて、これで表示されるのはあくまで行数なので、
データ数がこれより多いことはあり得ませんが、少ない可能性はあります。
そう、データが重複しているケースです。
そこで必要になるのが重複行のチェック。ここで以下のコマンド。
$ cat file.txt | sort | uniq -c | grep -v "^ 1 " | wc -l 0
一旦ソートしてから uniq -c で同一の行の数を数えます。
そして、1 行しかない=重複がない行を除外すると、
重複している行のみ残るので、wc -l で数えます。
コマンドを組み合わせただけですが、意外と便利っぽいので備忘録に。