join(1) FreeBSD 一般コマンドマニュアル

join

前のページ 上に戻る 次のページ

join


          [-o list] [-t char] [-1 field] [-2 field] file1 file2


解説

     join ユーティリティは、指定されたファイルに対し ``equality join'' と呼ば
     れる、各ファイルの同一の部分を結合する操作を施して結果を標準出力に出力し
     ます。

     比較は、それぞれのファイルの ``join field'' と呼ばれるフィールドで行ない
     ます。デフォルトでは、各行の最初のフィールドが使用されます。 file1file2 の中で、 ``join field'' が一致した行が組みとなり、1 行で出力されま
     す。 join field と、 file1 のうちの残りのフィールド、その後、 file2 のう
     ちの残りのフィールドが 1 行になって出力されます。

     フィールドの区切は、デフォルトではタブか空白文字です。複数のタブや空白が
     繋っていても、1 つの区切とみなされ、読み込み時にこれらは無視されます。出
     力時の各フィールドの区切は、デフォルトでは空白 1 文字です。

     ファイルとフィールドの番号に関し、多くのオプションがあります。これらの番
     号は常に、1 から始まります。すなわち、コマンドラインの最初のファイルは
     ファイル番号 1 番であり、各行の最初のフィールドは、フィールド番号 1 番と
     なります。

     -a file_number
             デフォルトの出力に加えて、 file_number で指定したファイルに関し
             て、同一フィールドがなかった行を表示します。 ( -a の引数の前には
             空白を入れてはなりません; 互換性の節を御覧ください。)

     -e string
             出力時に、空のフィールドがあれば string で指定した文字列に置き換
             えます。

     -o list
             join の処理して出力すべき行に関し、デフォルトの順序でなく、 list
             で指定した順序で各ファイルの各フィールドを出力するようにします。
             list の各要素は、 `file_number.field' で表わし、要素間は、コンマ
             (``,'') か空白で区切ります (空白で区切る場合は、シェルが要素を別
             々のパラメータに分解しないようクォーティングするか、複数の -o オ
             プションを使用します)。

     -t char
             入力および出力に使用するフィールドの区切として char で指定した文
             字を使用するようにします。 1行の中で出現したすべての char が有効
             です。

     -v file_number
             file_number で指定したファイル番号のファイルに関して、 join 処理
             で同一フィールドが見つからなかった行だけを表示するようにします。
             -v 1-v 2 を同時に指定してもかまいません。

     -1 field
             ファイル 1 の ``join field'' を field で指定した番号のフィールド
             とします。


診断

     ユーティリティ join は、成功すると 0 で、エラーがあった場合は >0 で終了し
     ます。


互換性

     さらに、古いバージョンの join との互換のため、次のオプションも使用できま
     す。

     -a      デフォルトの出力に加え、file1 と file2 の各々で、同一フィールドが
             ない行を表示します。 (これと -a file_number を区別するために、
             join は現在後者は空白を含まないことを必要としています。)

     -j1 field
             ファイル1の ``join field'' を field で指定した番号のフィールドと
             します。

     -j2 field
             ファイル2の ``join field'' を field で指定した番号のフィールドと
             します。

     -j field
             file1 と file2 の ``join field'' を field で指定した番号のフィー
             ルドとします。

     -o list ...
             歴史的な join の実装では -o オプションに複数の引数を許可していま
             した。これらの引数は、現在の -o オプションで説明したものと同じ
             ``file_number.field_number'' という形式でした。しかし、この方法で
             は `1.2' と名付けられたファイルが存在すると、明らかに困難を生じま
             す。

     これらのオプションは、修正をしたくないような非常に古いシェルスクリプトの
     ためだけに用意されています。これらのオプションは、使うべきではありませ
     ん。


規格

     join コマンドは IEEE Std 1003.2 (``POSIX.2'') 互換です。


関連項目

     awk(1), comm(1), paste(1), sort(1), uniq(1)

FreeBSD 4.4                     April 28, 1995                     FreeBSD 4.4

ABELNET VPSサービス