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 _ 博多
Last modified: 2022-08-13 08:42:31