join - コマンド (プログラム) の説明 - Linux コマンド集 一覧表
名前
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> が作成しました。