Hatena::ブログ(Diary)

杉風呂2.0 - A Lifelog -

2008-07-17(木)

[]sortコマンドとuniqコマンドをパイプするよりもsortの-uオプション

これは↓のようにsortとuniqをパイプで繋げるだけでできます。

ウノウラボ by Zynga Japan: シェルスクリプトでプログラミング

各行がいくつ重複しているか調べるにはuniqの-cオプションを使います。

ウノウラボ by Zynga Japan: シェルスクリプトでプログラミング

実は、sortコマンドにはuというオプションがあり、即時の過酷なテキスト処理が求められる僕のプロジェクトでは、

  • レコードが何種類か見たい場合は sort -u
  • レコード別の分布数を見たい場合は sort | uniq -c

といった使い分けになっています。sort |uniqよりもタイプ数が少ないからsort -uを使う人が多いようです。ちなみにuniqコマンドは同じ値であっても隣接していないといけないのでsortコマンドとセットで使うことが多いです(参考『UNIX先生』)。

そういえば、速度差を計ったことはありませんね。sort -uの方が有利な気はしますが。

トラックバック - http://d.hatena.ne.jp/suginoy/20080717/p2