Linux:commコマンドで2ファイルの共通行を抽出する方法

スポンサーリンク

commコマンドで2ファイルの共通行を抽出する方法

commコマンドで2ファイルの共通行を抽出するには-12オプションを指定します。

 

オプションの説明

  -1              suppress column 1 (lines unique to FILE1)
  -2              suppress column 2 (lines unique to FILE2)
  -3              suppress column 3 (lines that appear in both files)

 

以下のテキストを処理するとします。

$ paste fruits1.txt fruits2.txt
Banana  Apple
Cherry  Banana
Grape   Lemon
Mango   Mango
Melon   Orange
Peach

 

オプションなしで実行した場合には以下の3列が出力されます。

  • 1列目:1つ目のファイルにのみ含まれる
  • 2列目:2つ目のファイルにのみ含まれる
  • 3列目:2つのファイルに共通して含まれる
$ comm fruits1.txt fruits2.txt
        Apple
                Banana
Cherry
Grape
        Lemon
                Mango
Melon
        Orange
Peach

 

共通行のみを抽出したい場合は-12オプション(1列目と2列目を非表示)を指定します。

$  comm -12 fruits1.txt fruits2.txt
Banana
Mango