comm コマンド
目的
2 つのソート済みファイルに共通の行を選択またはリジェクトします。
構文
説明
注: ファイル名の 1 つに - (負符号) を指定すると、comm コマンドは標準入力を読み取ります。
comm コマンドはパラメーター File1 と File2 を読み込み、デフォルトでは、標準出力に 3 つの欄から成る出力を書き込みます。欄は以下から構成されています。
- File1 内だけにある行
- File2 内だけにある行
- File1 と File2 の両方にある行
File1 と File2 はどちらも現行の各国語環境で指定された照合シーケンスに従ってソートされていなければなりません。
フラグ
項目 | 説明 |
---|---|
-1 | 1 番目の欄 (File1 内の行) の表示を抑制します。 |
-2 | 2 番目の欄 (File2 内の行) の表示を抑制します。 |
-3 | 3 番目の欄 (File1 と File2 に共通の行) の表示を抑制します。 |
終了状況
このコマンドは次の終了値を戻します。
項目 | 説明 |
---|---|
0 | すべての入力ファイルが正常に出力されました。 |
>0 | エラーが発生しました。 |
例
- 各ファイルに対して固有の行および両ファイルに共通の行を表示するには、
以下のように入力します。
ファイル things.to.do と things.done に以下のリストが含まれている場合、comm things.to.do things.done
comm コマンドは以下を表示します。things.to.do buy soap groceries luncheon meeting at 3 system update tech. review things.done 2nd revision interview luncheon system update tech. review weekly report
最初の欄には things.to.do の中だけにある行が含まれています。2 番目の欄はタブ 1 つで字下げされ、things.done の中だけにある行が表示されています。3 番目の欄は、タブ 2 つで字下げされ、両ファイルに共通の行が表示されます。2nd revision buy soap groceries interview luncheon meeting at 3 system update tech. review weekly report
- 片方のファイル内だけに現れる行を表示するには、
以下のように入力します。
これによって comm コマンドがリスト表示する 2 番目と 3 番目の欄が抑制されます。例 1 のファイルの場合、以下の内容が表示されます。comm -23 things.to.do things.done
buy soap groceries meeting at 3
ファイル
項目 | 説明 |
---|---|
/usr/bin/comm | comm コマンドが含まれています。 |