comm コマンド

目的

2 つのソート済みファイルに共通の行を選択またはリジェクトします。

構文

通信 [  -1  -2  -3 ] File1 File2

説明

注: ファイル名の 1 つに-(マイナス) を指定すると、 comm コマンドは標準入力を読み取ります。

comm コマンドはパラメーター File1File2 を読み込み、デフォルトでは、標準出力に 3 つの欄から成る出力を書き込みます。 欄は以下から構成されています。

  • File1
  • File2
  • File1File2の両方にある行。

File1File2 はどちらも現行の各国語環境で指定された照合シーケンスに従ってソートされていなければなりません。

フラグ

項目 説明
-1 1 番目の欄 (File1 内の行) の表示を抑制します。
-2 2 番目の欄 (File2 内の行) の表示を抑制します。
-3 3 番目の欄 (File1File2 に共通の行) の表示を抑制します。

終了状況

このコマンドは、以下の終了値を戻します。

項目 説明
0 すべての入力ファイルが正常に出力されました。
>0 エラーが発生しました。

  1. 各ファイルに固有の、両方に共通の行を表示するには、次のように入力します。
    comm things.to.do things.done
    ファイルがthings.to.doおよびthings.done以下のリストが含まれています。
    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
    comm コマンドは以下を表示します。
           2nd revision
    buy soap
    groceries
           interview
                   luncheon
    meeting at 3
                   system update
                   tech. review
           weekly report
    最初の列には、以下の場所にある行のみが含まれます。things.to.do. タブ文字で字下げされた 2 番目のカラムには, 検索された行だけがリストされthings.done. 2 つのタブでインデントされた 3 番目の列には、両方に共通の行がリストされます。
  2. 1 つのファイルだけに現れる行を表示するには、次のように入力します。
    comm -23 things.to.do things.done
    これによって comm コマンドがリスト表示する 2 番目と 3 番目の欄が抑制されます。 例 1 のファイルの場合、以下の内容が表示されます。
    buy soap
    groceries
    meeting at 3

ファイル

項目 説明
/usr/bin/comm comm コマンドが含まれています。