joinは,同一の結合フィールドを持つそれぞれの入力行の組に対し, 一行を標準出力に書き出します.概要です.
join [option]... file1 file2
file1またはfile2は(両方ではなく)`-'が可能で,標準入力 を意味します.file1とfile2は,結合フィールド上で並べ替えし ておくべきです.
通常,並べ替えの順序は,LC_COLLATEロカールで指定されている順番で
す.-tオプションが与えられない限り,sort -b
のように,
並べ替えの比較では結合フィールドの最初の空白は無視されます.
--ignore-caseオプションが与えられている場合,sort -f
の
ように,並べ替えの比較では結合フィールドの文字の大文字小文字は無視され
ます.
しかし,GNUの拡張として,入力に組になる行が無い場合,並び順は,上記の 並び替えの比較が同じであると考えられる場合,そしてそのときだけ,二つの フィールドが同じであると考えられる順番になるはずです.例えば,以下のよ うになります.
$ cat file1 a a1 c c1 b b1 $ cat file2 a a2 c c2 b b2 $ join file1 file2 a a1 a2 c c1 c2 b b1 b2
デフォルトは,以下の通りです.結合フィールドは,それぞれの行の最初の フィールドです.入力のフィールドは,一つ以上の空白で分離されていて,行 の前の空白は無視されます.出力のフィールドはスペースで分離されています. それぞれの出力行は,結合フィールド,file1の残りのフィールド,そ してfile2の残りのフィールドから成り立ちます.
プログラムは,以下のオプションを受け入れます.Common optionsも参 照してください.
`0'のフィールド指定は,結合フィールドを示します.ほとんどの場合, `0'フィールドの指定の機能は,対応する結合フィールドとなる,明示的 なm.nを用いて再現できます.しかし,(-aまたは-v オプションを用いて)組にならない行を出力するとき,両方のファイルで組に ならない行がある場合,field-listでm.nを用いて結合フィール ドを指定する方法はありません.joinにその機能を与えるため, POSIXは`0'フィールド指定の表記を考え出しました.
field-listの要素は,カンマまたは空白で分けられています.全ての出
力行は – -aや-vオプションで出力されるものを含め –
指定されたfield-listが適用されます.
更に,gnu joinは,単一の引数で呼び出されたとき,オプショ ン--helpと--versionは認識されます.See Common options.
終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.