JOIN(1)

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

書式
join [-a 1|2] [-v 1|2] [-e empty-string] [-o field-list...] [-t char] [-j[1|2] field] [-1 field] [-2 field] file1 file2
join {--help,--version}

説明
この文書はもうメンテナンスされていないので、不正確・不完全 な可能性がある。現在は texinfo 文書が正式な情報となっている。

このマニュアルページは GNU 版 join について記述したものである。 join は file1 の中にある行と file2 の中にある行を調べ、 join フィールドが一致しているペアを標準出力に表示 する。ファイル名のどちらか (両方は駄目) は `-' のように指定することが でき、この場合は標準入力が用いられる。 file1 と file2 はあらかじめ join フィールドの昇順にソートしておく必要がある (ソートは 数値順ではなく、文字列順に行うこと)。 -t オプションを指定しない場合は、行の先頭にある空白文字列は無視してソート しておく。これは sort に -b オプションを指定することによって実行できる。

デフォルトの動作は以下の通り。 join フィールドはそれぞれの行の先頭フィー ルドになる。入力においては、フィールドとはひとつ以上の空白 (blank) で 区切られた部分を指し、行先頭の空白文字列は無視される。 出力においては、フィールドはスペースで区切られる。出力のそれぞれの行は join フィールド、 file1 の残りのフィールド、そして file2 の残りのフィールドから構成される。

  オプション

-a file-number
    通常の出力に加え、ファイル file-number (1 または 2) のうちでペアにならなかった行も出力する。

-e string
    空の出力フィールド (入力にフィールドがなかった場合) を string で置き換える。

-1, -j1 field
    ファイル 1 のフィールド field (正の整数) に基づいて join 動作を行う。

-2, -j2 field
    ファイル 2 のフィールド field (正の整数) に基づいて join 動作を行う。

-j field
    -1 field -2 field. と同じ。

-o field-list...
    それぞれの出力行を field-list のフォーマットに基づいて構成する。 field-list 中の要素は、ファイル番号 (1 または 2)、ピリオド、フィールド番号 (正の 整数) からなる。フォーマット中のそれぞれの要素はコンマか空白で区切る。 ひとつの -o オプションの後に複数の field-list を指定することもできる。 -o とともに与えられたすべての field-list は結合されて出力される。

-t char
    入力および出力のフィールド区切りとして char を用いる。

-v file-number
    通常の出力の代わりに、ファイル file-number (1 または 2) のペアにならなかった行を表示する。

さらに GNU 版 join がひとつの引き数のみで実行された場合には、以下のオプションが認識される。

--help
    使い方に関するメッセージを標準出力に表示し、実行成功を返して終了する。

--version
    バージョン情報を標準出力に表示して終了する。