join

2つのファイルの行を結合する(1)

構文

join [オプション] FILE1 FILE2

オプション

-a FILENUM通常出力に加え、FILENUM(1ならFILE1、2ならFILE2)のマッチしなかった行もあわせて出力する
-e EMPTY入力フィールドがなかった場合に文字列EMPTYで置き換える
-i, --ignore-caseフィールドを比較するときに大文字と小文字を区別しない
-j FIELD「-1 FIELD -2 FIELD」と同じ
-o FORMAT出力フォーマットをFORMATで指定する(FORMAT内の要素はファイル番号、ピリオド、フィールド番号から構成され、それぞれの要素はコンマもしくは空白で区切る)
-t CHAR入力および出力フィールドの区切り文字としてCHARを使う
-v FILENUM通常出力の代わりにFILENUM(1ならFILE1、2ならFILE2)のマッチしなかった行を出力する
-1 FIELDFILE1のフィールドFIELD(正の整数)に基づいて結合する
-2 FIELDFILE2のフィールドFIELD(正の整数)に基づいて結合する
--check-order入力フィールドが正しくソートされているか確認する
--nocheck-order入力フィールドが正しくソートされているか確認しない

説明

2つのファイルを読み込んで、それぞれの指定したフィールドが共通する行を結合する。フィールドとは、1つ以上の空白で区切られた文字列を示す。どちらのファイルもあらかじめ、joinで指定するフィールドでソートしておく必要がある。

使用例

sample1ファイルとsample2ファイルの第2フィールドを比較し、マッチする行を結合して出力する。

$ join -j 2 sample1 sample2

関連事項

paste