Tukubaiオンラインコマンドマニュアル - cjoin2x(1)
cjoin2x(1)
【名前】
cjoin2x
: キーの値が同じレコードが複数存在するファイル同士を連結。
【書式】
Usage : cjoin2x [+<string>] key=<n> <master> <tran> Version : Fri Jul 22 01:09:14 JST 2022 Edition : 1
【説明】
テキストファイル<tran>
の"key=<n>"
で指定したキーフィールドがマスターファイル<master>
の第1フィールド(キーフィールド)とマッチした行を<tran>
から抽出して、<master>
の情報を連結して出力します。マッしない行は、ダミーデータ"_"
をフィールド数分だけ結合して出力します。ダミーデータは指定することもできます。
<master>
の第1フィールドについては必ず昇順でソートされていることが条件になります。
<master>
が空ファイル(0バイト)の場合はエラーになります。
cjoin2
との違いは、マスターファイルのキーフィールドの値が同一のレコードが複数存在できる点です。マスターとトランザクションファイルのキーフィールド値が同一のレコード同士を総掛けで連結して出力します。
【例1】
(マスターファイル:master)
$ cat master 1 東京1 1 東京2 2 大阪1 2 大阪2
(トランザクションファイル:tran)
$ cat tran 3 栄 2 京橋 3 金山 1 上野 1 新宿 4 天神 2 難波 3 熱田 2 梅田 4 博多
$ cjoin2x key=1 master tran >data $ cat data 3 _ 栄 2 大阪1 京橋 2 大阪2 京橋 3 _ 金山 1 東京1 上野 1 東京2 上野 1 東京1 新宿 1 東京2 新宿 4 _ 天神 2 大阪1 難波 2 大阪2 難波 3 _ 熱田 2 大阪1 梅田 2 大阪2 梅田 4 _ 博多