Unix-commands-comm

提供:Dev Guides
移動先:案内検索

comm-Unix、Linuxコマンド

NAME

*comm* -ソートされた2つのファイルを1行ずつ比較し、標準出力に書き込みます:共通の行と一意の行。

概要

comm [options]... File1 File2

説明

「comm」を使用する前に、「LC_COLLATE」ロケールで指定された照合シーケンスを使用して入力ファイルをソートする必要があります。末尾の改行は有効です。 入力ファイルが改行以外の文字で終わる場合、改行が暗黙的に追加されます。 オプションなしの「sort」コマンドは、常に「comm」への入力に適したファイルを出力します。 オプションがない場合、「comm」は3列の出力を生成します。 1列目はFILE1に固有の行を含み、2列目はFILE2に固有の行を含み、3列目は両方のファイルに共通の行を含みます。 列は単一のTAB文字で区切られます。

オプション-1、-2、および-3は、対応する列の印刷を抑制します。 他の比較ユーティリティとは異なり、「comm」の終了ステータスは比較の結果に依存しません。 通常の完了時に、「comm」はゼロの終了コードを生成します。 エラーがある場合、ゼロ以外のステータスで終了します。

オプション

-1 suppress lines unique to file1.
-2 suppress lines unique to file2.
-3 suppress lines that appear in both files.

words.txtに固有の行を表示します

$ cat words.txt
Apple
Banana
Orange
India
US
Canada
$ cat countries.txt
India
US
Canada
$ comm -23 < (sort words.txt | uniq) < (sort countries.txt | uniq)
Apple
Banana
Orange

words.txtとcountrys.txtに共通の行を表示します。

$ comm -12 < (sort words.txt | uniq) < (sort countries.txt | uniq)
India
US
Canada

link:/cgi-bin/printpage.cgi [__印刷]