join

二つのファイルを読み、フィールドが共通な行を結合する

join - 二つのファイルを読み、フィールドが共通な行を結合する
join [-i] [-1 FIELD] [-2 FIELD] [-a FILE-NUMBER] [-e STRING] [-j FIELD] [-j1 FIELD] [-j2 FIELD] [-o FIELD-LIST] [-t CHAR] [-v FILE-NUMBER] [ --ignore-case ] FILE1 [ FILE2 ]
join [ --help ] [ --version ]
join は join フィールドが一致している入力行の各ペアを標準出力に表示する。 一方の FILE が与えられないと標準入力から読み込む。また FILE が ` - ' だった場合には、そのファイルには標準入力が用いられる。
FILE1 と FILE2 は実行前に join フィールドの昇順にソートしておかなければならない (数値順のソートはだめ)。 -t オプションが与えられなかった場合は、ファイルは join フィールドの 先頭にある空白を無視してソートしておかなければならない (`sort -b' のようなかたち)。 --ignore-case オプションを与える場合には、各行は join フィールドの英大文字小文字を無視してソートしておかなければならない (`sort -f' のようなかたち)。
デフォルトの動作は以下の通り: join フィールドは各行の先頭に来る。 入力は 1 つ以上の空白でフィールドに分割され、 行頭の空白は無視される。出力のフィールドは 1 つのスペースで区切られる。 出力行は、 join フィールド、 FILE1 の残りのフィールド、 FILE2 の残りのフィールドからなる。
-1 FIELD, -j1 FIELD
FILE1FIELD 番目のフィールドを用いて join を行う ( FIELD は正の整数)。
-2 FIELD, -j2 FIELD
FILE2FIELD 番目のフィールドを用いて join を行う ( FIELD は正の整数)。
-a FILE-LIST
FILE-NUMBER (` 1 ' または ` 2 ') のファイルにあるペアにならなかった行を、通常の出力に追加して表示する。
-e STRING
入力にフィールドがなかった場合、それに対応する出力フィールドを STRING にする。
-i, --ignore-case
キーを比較するときに英大文字小文字の違いを無視する。 このオプションを指定するときは、 入力ファイルも同じように整列させておかなければならない。 このような整列を行うには `sort -f' を使えば良い。
-j FIELD
-1 FIELD -2 FIELD と同じ。
-o FIELD-LIST...
出力行のフォーマットに FIELD-LIST を用いる。 FIELD-LIST の各要素は、一文字 `0' または M.N の形式である。 ここで M はファイル番号で ` 1 ' または ` 2 ' である。 N は正の整数で、フィールドの番号である。
フィールド指定 `0' は join フィールドを表す。 ほとんどの場合は、 `0' の機能は M.N を用いて join フィールドを明示的に指定するやり方でも再現可能であろう。 しかし、 (-a や -v オプションを使ったときに) ペアにならなかった行も表示する場合は、両方のファイルに そのような行があると、 FIELD-LIST で M.N を使うやり方では join フィールドを指定することはできない。 join にこの機能を与えるため、 POSIX で `0' フィールド指定の記述が発明された。
FIELD-LIST の各要素はコンマまたは空白で区切られる。 一つの -o オプションの後に複数の FIELD-LIST 引数を指定することも出来る。 -o オプション以降の 全てのリストの値は結合される。 FIELD-LIST の指定は、 (-a や -v オプションに由来するものも含め) 全ての出力行に適用される。
-t CHAR
入力・出力のフィールド区切りに文字 CHAR を用いる。
-v FILE-NUMBER
通常の出力ではなく、 FILE-NUMBER (` 1 ' または ` 2 ') のファイルにある、ペアにならなかった行だけを表示する。
--help
標準出力に使用方法のメッセージを出力して正常終了する。
--version
標準出力にバージョン情報を出力して正常終了する。
プログラムのバグについては bug-textutils@gnu.org に報告してください。 man ページは Ragnar Hojland Espinosa <ragnar@ragnar-hojland.com> が作成しました。