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