JOIN(1)

名前
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
    FILE1 の FIELD 番目のフィールドを用いて join を行う (FIELD は正の整数)。

-2 FIELD, -j2 FIELD
    FILE2 の FIELD 番目のフィールドを用いて 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> が作成しました。