Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

uniq(1)

名前

uniq - ファイルの中の重複行の報告またはフィルタへの出力

形式

/usr/bin/uniq [ [-c | --count
] |[-d | --repeated
] |[-u | --unique] |[
-D[delimit-method] | --all-repeated
[=delimit-method]] ][
-f  fields | --skip-fields=
fields] [-s chars | 
--skip-chars=chars][
-w, --check-chars=chars][
-i | --ignore-case] [-z | 
--zero-terminated][--help] [
input_file [output_file]]
/usr/bin/uniq [ [-c | --count
] |[-d | --repeated
] |[-u | --unique] |[
-D[delimit-method] | --all-repeated[=
delimit-method]] ][-w, 
--check-chars=chars][
-i | --ignore-case] [-z | 
--zero-terminated][--help][
-n ] [+m ][input_file
 [output_file]]

説明

uniq は、入力を読み取り、隣接する行を比較して、各入力行のコピーを 1 行ずつ出力に書き込みます。隣接する重複行の 2 番目以降の行は書き込まれません。

出力ファイル output_file が指定されていない場合、 uniq は標準出力に書き込みます。input_file が指定されていない場合、または input_file- の場合、 uniq は、現在のオフセットをファイルの開始位置として定義し、標準入力から読み取ります。

オプション

サポートしているオプションは、次のとおりです。

–c, –-count

各行の先頭に、その行が入力中に連続して現れた回数を出力します。

–d, –-repeated

入力中で重複していなかった行は出力しません。

–D, –-all-repeated[=delimit-method]

次のいずれかの区切り方法を使用して、重複した行のグループを区切ります。

none (デフォルト)

区切り操作は行われません。

prepend

各グループの前に区切り文字を付けます。

separate

区切り文字でグループを分けます。

空白の行を使用して区切り操作が行われます。

–f, –skip-fields=fields

比較を行う際に、各入力行の最初の fields fields を無視します。fields は正の整数です。field は、基本的な正規表現で一致する最大の文字列です。

[[:blank:]]*[^[:blank:]]*

入力行にあるより多くの fieldsfields に指定した場合、比較には NULL 文字列が使われます。

–i, –-ignore-case

比較のときに大文字と小文字の違いを無視します。

–s, –-skip-chars=chars

比較を行う際に、最初の chars 文字を無視します。chars は正の整数です。–f オプションと一緒に指定した場合には、先頭の fields fields のあとの chars 文字が無視されます。入力行に残っているより多くの文字を chars に指定した場合、比較には NULL 文字列が使われます。

–u, –-unique

入力中で重複していた行は出力しません。

–w, –-check-chars=chars

1 行内で char 文字以上は比較しません。

–z, –-zero-terminated

新しい行ではなく、0 バイトで行を終わらせます。

-n

fields の値が n である –f fields 指定と同じ意味です。

+m

chars の値が m である –s chars 指定と同じ意味です。

–-help

コマンドの使用法を表示して終了します。

オペランド

次のオペランドがサポートされています。

input_file

入力ファイルのパス名。input_file が指定されない場合、または input_file- の場合は、標準入力が使用されます。

output_file

出力ファイルのパス名。output_file が指定されない場合、標準出力が使用されます。input_file と同じファイルを output_file で指定した場合、処理の結果は予測できません。

使用例 1 uniq コマンドの使用

次の例では uniq.test ファイルの内容をリストで示し、重複行を出力しています。

example% cat uniq.test
This is a test.
This is a test.
TEST.
Computer.
TEST.
TEST.
Software.

example% uniq -d uniq.test
This is a test.
TEST.
example%

次の例では uniq.test ファイルで重複していない行だけを出力しています。

example% uniq -u uniq.test
TEST.
Computer.
Software.
example%

最後の例では、ファイルの中でそれぞれの行が現われた回数を 各行の先頭に付けて出力しています。

example% uniq -c uniq.test
   2 This is a test.
   1 TEST.
   1 Computer.
   2 TEST.
   1 Software.
example%

環境変数

uniq の実行に影響を与える次の環境変数についての詳細は、environ(7) を参照してください。LANG、LC_ALL、LC_CTYPE 、LC_MESSAGES、および NLSPATH。

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

>0

エラーが発生しました。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
CSI
有効
インタフェースの安定性
確実
標準
standards(7) を参照してください。

関連項目

comm(1), ypcat(1), sort(1), uncompress(1), attributes(7), environ(7), standards(7)