sortの-uオプションと-kオプションの関係

  • GNU sort の -u (uniq)オプションと -k (key)オプションは連動していて,uniqするときに-kで指定したkeyの部分しか見ていないらしい.
2       3
1       3
2       3

というファイルを sort -k2,2 -uに通すと

1       3
2       3

ではなく

2       3

になる.

1       3

ではない.

  • sort -k2,2|uniqに通すと
1       3
2       3

になる.sort -k2,2だけだと

1       3
2       3
2       3

となっていて-kで指定していない部分も並べ替えられている.

  • 既にソートされている
1       3
2       3
2       3

というファイルを sort -k2,2 -uに通すと

1       3

になって,先に現れたものが優先される.ファイルによっては思っているのと違う結果が出ることがあるので注意.

  • 必要なデータを誤ってuniqして消してしまわないように注意.