uspTukubaiコマンドに関する様々な資料がここにあります。

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

ABC順リスト |  カテゴリ別リスト

(動画教材準備中)

cljoin1

<概要>

cljoin1 : 最長前方一致によるジョイン

<書式>

Usage   : cljoin1 [+ng[<fd>]] key=<n> <master> <tran>
Version : Fri May 12 13:53:17 JST 2017
Edition : 1

<説明>

入力ファイル <tran> の "key=<n>" で指定したキーフィールドがマスター
ファイル <master> の第1フィールド(キーフィールド)とマッチした行
のみを <tran> から抽出して、<master> を連結して出力します。

キーフィールドのマッチは前方一致で行われます。つまり、<tran> のキー
が <master> のキーより長い場合、<tran> のキーを <master> のキーの長
さに切り詰めた文字列とマッチを行います。複数のキーにマッチする場合、
最も長いキーとマッチします。

連結は以下のフィールドを並べた形で行われます。
1. <tran> のキーフィールド以前
2. <master> のキーフィールド
3. <tran> のキーフィールド
4. <master> のキーフィールド以降
5. <tran> のキーフィールド以降

<master> のキーフィールドは必ず昇順にソートされていることが条件にな
ります。更にキーフィールドはユニークでなければなりません。(同じ値の
キーフィールドを持つコードが複数あってはなりません)

cjoin1 とは異なり、<tran> についてはこの制約はありません。キーフィー
ルド(第 <n> フィールド)はソートされている必要はなく、同じ値を持つ
レコードが有っても構いません。

マッチしない行は破棄しますが、+ng オプションを指定すると、ファイルデ
スクリプタ <fd> へ出力します。<fd> を省略した場合は標準エラー出力へ
出力します。

<master> に "-" を指定すると標準入力から読み込みます。<tran> が無指
定、あるいは "-" を指定すると標準入力から読み込みます。<master> と
<tran> の両方が標準入力の場合はエラーになります。

<例1>

(マスター)
$ cat master
兵庫県 boke
兵庫県加古川市 boke2
兵庫県加古川市米田町 boke3
東京都 aho
東京都港区 aho2
東京都港区六本木 aho3

(トランザクション)
$ cat tran
A 東京都港区六 B
C 兵庫県加古川 D
E 愛媛県 F

$ cljoin1 +ng3 key=2 master trans > ok 3> ng
$ cat ok
A 東京都港区 東京都港区六 aho2 B
C 兵庫県 兵庫県加古川 boke D
$ cat ng
E 愛媛県 F