'\" te .\" Copyright 1989 AT&T .\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. .\" Portions Copyright (c) 1982-2007 AT&T Knowledge Ventures .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html. This notice shall appear on any product containing this material. .TH join 1 "2012 年 5 月 7 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 join \- リレーショナルデータベース演算子 .SH 形式 .LP .nf \fB/usr/bin/join\fR [\fB-a\fR \fIfilenumber\fR] [\fB-v\fR \fIfilenumber\fR] [\fB-1\fR \fIfieldnumber\fR] [\fB-2\fR \fIfieldnumber\fR] [\fB-o\fR \fIlist\fR] [\fB-e\fR \fIstring\fR][\fB-t\fR \fIchar\fR] \fIfile1\fR \fIfile2\fR .fi .LP .nf \fB/usr/bin/join\fR [\fB-a\fR \fIfilenumber\fR] [\fB-j\fR \fIfieldumber\fR] [\fB-j1\fR \fIfieldnumber\fR] [\fB-j2\fR \fIfieldnumber\fR] [\fB-o\fR \fIlist\fR] [\fB-e\fR \fIstring\fR][\fB-t\fR \fIchar\fR] \fIfile1\fR \fIfile2\fR .fi .SH 機能説明 .sp .LP \fBjoin\fR は、ファイル \fIfile1\fR とファイル \fIfile2\fR で等結合を実行し、結果として生成される結合されたファイルを標準出力に書き込みます。デフォルトでは、フィールドは 1 つ以上のスペースまたはタブで区切られます。連続するスペースまたはタブ、あるいはその両方のうち、最後の 1 つ以外は無視されます。\fB-t\fR オプションを使用すると、フィールドの区切り文字を変更できます。 .sp .LP \fBjoin\fR フィールドとは、各ファイル内のフィールドであり、このフィールドでファイルが比較されます。デフォルトでは、join により、一致する join フィールドがある \fIfiles1\fR と \fIfiles2\fR 内の行のペアごとに 1 行が出力に書き込まれます。デフォルトの出力行は、join フィールド、\fIfile1\fR の残りのフィールド、\fIfile2\fR の残りのフィールドで構成されますが、これは、\fB-o\fR オプションを使用すると変更できます。また \fB-a\fR オプションを使えば、一致しなかった行も出力できます。\fB-v\fR オプションは、一致しなかった行だけを出力するために使用します。 .sp .LP ファイル \fIfile1\fR とファイル \fIfile2\fR は、結合されるフィールド上でソート \fB-b\fR の照合順序でソートされている必要があります。ソートされていない場合、結果は不確定です。 .sp .LP \fIfile1\fR または \fIfile2\fR が \fB-\fR の場合、join は標準入力を使用します。開始位置は現在の位置です。 .SH オプション .sp .LP 次のオプションには \fIfilenumber\fR という引数を使用するものがあります。この引数の値は \fB1\fR または \fB2\fR で、それぞれ \fIfile1\fR または \fIfile2\fR を表します。 .sp .ne 2 .mk .na \fB\fB-a\fR \fIfilenumber\fR \fR .ad .RS 20n .rt 通常の出力に加え、ファイル \fIfilenumber\fR 内の対にならなかった行についても出力します。\fIfilenumber\fR の値は \fB1\fR または \fB2\fR です。\fB-a 1\fR と \fB-a 2\fR の両方を指定すると、対にならなかった行がすべて出力されます。 .RE .sp .ne 2 .mk .na \fB\fB-e\fR \fIstring\fR\fR .ad .RS 20n .rt \fB-o\fR オプションで選択したリスト内にある空の出力フィールドを \fIstring\fR 文字列で置き換えます。 .RE .sp .ne 2 .mk .na \fB\fB-j\fR \fIfieldnumber\fR \fR .ad .RS 20n .rt \fB-1\fR \fIfieldnumber\fR \fB-2\fR\fIfieldnumber\fR と同等です。フィールドには \fB1\fR から始まる番号が付きます。 .RE .sp .ne 2 .mk .na \fB\fB-j1\fR \fIfieldnumber\fR \fR .ad .RS 20n .rt \fB-1\fR\fIfieldnumber\fR と同じ意味です。フィールドには \fB1\fR から始まる番号が付きます。 .RE .sp .ne 2 .mk .na \fB\fB-j2\fR \fIfieldnumber\fR \fR .ad .RS 20n .rt \fB-2\fR\fIfieldnumber\fR と同じ意味です。フィールドには \fB1\fR から始まる番号が付きます。 .RE .sp .ne 2 .mk .na \fB\fB-o\fR \fIlist\fR\fR .ad .RS 20n .rt 各出力行は、list に指定されたフィールドを含みます。list で選択されたフィールドのうち入力中に現れないものは、空の出力フィールドとして扱われます (\fB-e\fR オプションの説明を参照)。この各要素の形式は \fIfilenumber\fR.\fIfieldnumber \fR または \fB0\fR で、後者は \fBjoin\fR フィールドを表します。特に指定しないかぎり、共通フィールドは出力しません。 .RE .sp .ne 2 .mk .na \fB\fB-t\fR \fIchar\fR\fR .ad .RS 20n .rt char で示す文字を区切り文字として使用します。1 つの行に \fIchar\fR が複数個あるとき、それらはすべて有効です。文字 \fIchar\fR は、入力と出力の両方においてフィールド区切り文字として使われます。このオプションを指定する場合、照合される語は \fB-b\fR オプションなしで sort を実行した場合にも同一とみなされる語でなければなりません。 .RE .sp .ne 2 .mk .na \fB\fB-v\fR \fIfilenumber\fR \fR .ad .RS 20n .rt デフォルト形式の出力ではなく、\fIfilenumber\fR 内の対にならなかった行だけを出力します。\fIfilenumber\fR の値は \fB1\fR または \fB2\fR です。\fB-v 1\fR と \fB-v 2\fR の両方を指定すると、対にならなかった行がすべて出力されます。 .RE .sp .ne 2 .mk .na \fB\fB-1\fR \fIfieldnumber\fR \fR .ad .RS 20n .rt ファイル \fB1\fR の \fIfieldnumber\fR 番目のフィールドで結合します。フィールド番号は \fB1\fR から始まる 10 進整数です。 .RE .sp .ne 2 .mk .na \fB\fB-2\fR\fIfieldnumber\fR \fR .ad .RS 20n .rt ファイル \fB2\fR の \fIfieldnumber\fR 番目のフィールドで結合します。フィールド番号は \fB1\fR から始まる 10 進整数です。 .RE .SH オペランド .sp .LP 次のオペランドがサポートされています。 .sp .ne 2 .mk .na \fB\fIfile1\fR\fR .ad .RS 9n .rt 結合するファイルのパス名。\fIfile1\fR と \fIfile2\fR のどちらかに \fB–\fR を指定すると、そのファイルの代わりに標準入力が使用されます。 .RE .sp .ne 2 .mk .na \fB\fIfile2\fR\fR .ad .RS 9n .rt 結合するファイルのパス名。\fIfile1\fR と \fIfile2\fR のどちらかに \fB–\fR を指定すると、そのファイルの代わりに標準入力が使用されます。 .RE .sp .LP \fIfile1\fR と \fIfile2\fR は、結合するフィールド (通常は各行の最初のフィールド) 上で \fBLC_COLLATE\fR によって決められた照合順序で昇順にソートされていなければなりません (\fBsort\fR(1) を参照)。 .SH 使用法 .sp .LP ファイルが 2G バイト (2^31 バイト) 以上ある場合の \fBjoin\fR の動作については、\fBlargefile\fR(5) を参照してください。 .SH 使用例 .LP \fB例 1 \fRパスワードファイルとグループファイルの結合\fB\fR .sp .LP 次のコマンド行は、パスワードファイルとグループファイルを結合し、数値グループ ID のマッチングを行い、ログイン名、グループ名、およびログインディレクトリを出力します。ファイルは、グループ ID フィールド上において \fBASCII\fR の照合順序でソートされていると仮定します。 .sp .in +2 .nf example% \fBjoin -j1 4-j2 3 -o 1.1 2.1 1.6 -t:/etc/passwd /etc/group\fR .fi .in -2 .sp .LP \fB例 2 \fR\fB-o\fR オプションの使用 .sp .LP \fB-o\fR \fB0\fR は、基本的には結合フィールドを統合したフィールドを表します。たとえば、\fBphone\fR という名のファイルは次のような内容だとします。 .sp .in +2 .nf !Name Phone Number Don +1 123-456-7890 Hal +1 234-567-8901 Yasushi +2 345-678-9012 .fi .in -2 .sp .sp .LP また、\fBfax\fR というファイルは次のような内容だとします。 .sp .in +2 .nf !Name Fax Number Don +1 123-456-7899 Keith +1 456-789-0122 Yasushi +2 345-678-9011 .fi .in -2 .sp .sp .LP この 2 つのファイルで、長いスペース部分は 1 つのタブ文字を表しているものとします。このとき次のようなコマンドを実行します。 .sp .in +2 .nf example% \fBjoin -t"\fItab\fR" -a 1 -a 2 -e '(unknown)' -o 0,1.2,2.2 phone fax\fR .fi .in -2 .sp .sp .LP すると次のような出力が生成されます。 .sp .in +2 .nf !Name Phone Number Fax Number Don +1 123-456-7890 +1 123-456-7899 Hal +1 234-567-8901 (unknown Keith (unknown) +1 456-789-012 Yasushi +2 345-678-9012 +2 345-678-9011 .fi .in -2 .sp .SH 環境 .sp .LP \fBjoin\fR の実行に影響を与える次の環境変数についての詳細は、\fBenviron\fR(5) を参照してください。\fBLANG\fR、\fBLC_ALL\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR、\fBLC_COLLATE\fR、および \fBNLSPATH\fR。 .SH 終了ステータス .sp .LP 次の終了ステータスが返されます。 .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 入力ファイルはすべて正常に出力されました。 .RE .sp .ne 2 .mk .na \fB>\fB0\fR\fR .ad .RS 6n .rt エラーが発生した。 .RE .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os _ CSI有効 _ インタフェースの安定性確実 _ 標準T{ \fBstandards\fR(5) を参照してください。 T} .TE .SH 関連項目 .sp .LP \fBawk\fR(1), \fBcomm\fR(1), \fBsort\fR(1), \fBuniq\fR(1), \fBattributes\fR(5), \fBenviron\fR(5), \fBlargefile\fR(5), \fBstandards\fR(5) .SH 注意事項 .sp .LP デフォルトでフィールドを分離する場合、照合順序は \fB-\fR\fBb\fR を付けた \fBsort\fR コマンドに対応した順序です。\fB-t\fR の場合、照合順序は b を付けない sort コマンドの順序になります。 .sp .LP \fBjoin\fR、\fBsort\fR、\fBcomm\fR、\fBuniq\fR、\fBawk\fR コマンドの規則は一律ではありません。