LoginSignup
1
3

More than 3 years have passed since last update.

uniq コマンドのオプション

Last updated at Posted at 2019-11-15

要旨

上記を読めば理解が深まると思います。

お・わ・り (ゝω・)v

🐟 ... 🐟 ... 🐟 ...

これだけだと寂しいので、以下、個人的なコメントなど書くことにします。

バージョン

$ uniq --version
uniq (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

作者 Richard M. Stallman および David MacKenzie。

各オプション

標準出力を変える系

オプション 説明
-c 重複した行数も出力する
-d 重複行だけ主力する (それぞれ1行ずつ)
-D 重複行だけ主力する (全部)
-u 重複していない行だけ出力する
--group 重複した行たちをひとまとまりとして、空行区切りで出力する
-z 出力する行区切りを改行ではなくゼロバイト文字にする

重複判定条件を変える系

オプション 説明
-i 大文字小文字を無視する

重複判定条件を変える系 (オプション + 値を指定)

オプション 説明
-f スペース/タブ区切りされた文字列で、最初n個は比較しない
-s 最初n文字は比較しない
-w n文字目までを比較する

感想

普段から sort | uniq で、何も考えずに使っていたのですが、

  • 重複していない行だけ出力したい
  • 重複数を出力したい

など思って、検索してみたところ、 uniq コマンドのオプションがわりと充実していることが分かりました。

その他、感じたこととしましては、

  • sort | uniq
    manual にもあるとおり、 sort -u で代用できます

  • uniq -i
    sort -f | uniq -i としないと、期待どおりの結果にならず酷い目にあいそう

  • uniq -f
    場合によっては cut コマンドを噛ませて使わずとも、uniq だけで完結できるのですね

おわりに

この記事では uniq コマンドのオプションについて紹介しました。

普段何気なく使っているものでも、あらためて仕様を確認すると面白いかもしれません。

それではごきげんよう。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3