uniq
は指定された
INFILE
にあるユニークな (=他と内容の重ならない) 行を標準出力
( OUTFILE
が指定されていたらそれ) に書き出す。
INFILE
が与えられなかったり
` - '
だった場合には、標準入力が用いられる。
デフォルトでは、
uniq
はソートされたファイルにあるユニークな行を表示する。
つまり複数の行が同一な内容を持つ場合は、1 行だけ表示して残りは捨てる。
オプションで指定すると、1 回しか現われない行だけを表示したり、
複数回現われる行だけを表示することもできる。
uniq
に与える入力はソートされていなければならない。
入力がソートされていない場合は、
`sort -u' を使うのが良いだろう。
-N, -f N, --skip-fields=N
-
同一行かどうかの判断を行う前に N\FR 個のフィールドをスキップする。
フィールドとは空白とタブ以外の文字からなる文字列で、
フィールド間は 1 つ以上の空白かタブで区切られる。
短いオプション形式 - は推奨されない。
-
\+N, -s N, --skip-chars=N
-
同一行かどうかの判断を行う前に N\FR 個の文字をスキップする。
フィールドスキップと文字スキップのオプションを両方指定した場合は、
フィールドスキップが先に行われる。
短いオプション形式 \+ は推奨されない。
-
-c, --count
-
それぞれの行が何回現われたかを行の内容とともに表示する。
-
-i, --ignore-case
-
比較の際に英大文字小文字の違いを無視する。
-
-d, --repeated
-
同じ内容が 2 行以上あるものだけを出力する。
-
-u, --unique
-
1 回しか現われない行だけを出力する。
-
-w N, --check-chars=N
-
行を比較するとき、各行の N 個の文字だけを使う。
これはフィールドや文字のスキップを行った後の数である。
デフォルトでは、スキップ後残った文字すべてが比較の対象にされる。
-
-D, --all-repeated[={prepend,separate,none}]
-
重複行をすべて表示し、重複しなかった行は表示しない。
prepend が指定された場合、重複した行のグループの前に改行を出力する。
separate は、最初のグループの前に改行を出力しない以外は、
prepend と同じである。
このオプションは、主に他のオプションと組み合わせて使う。
例えば大文字小文字を無視して比較したり、
特定のフィールドだけで比較するような場合である。
このオプションは GNU による拡張である。
-
--help
-
標準出力に使用方法のメッセージを出力して正常終了する。
-
--version
-
標準出力にバージョン情報を出力して正常終了する。