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

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

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

(動画教材準備中)

join1x

<概要>

join1x : キーの値が同じレコードが複数存在するファイル同士を連結。

<書式>

Usage   : join1x [+ng[<fd>]] key=<n> <master> <tran>
Version : Mon Feb  4 10:53:34 JST 2019
Edition : 1

<説明>

テキストファイル <tran> の "key=<n>" で指定したキーフィールドがマス
ターファイル <master> の第1フィールド(キーフィールド)とマッチした
行のみを <tran> から抽出して、<master> の情報を連結して出力します。
連結は <tran> のキーフィールドの直後に <master> の内容を挿入する形で
行われます。

<master> の第1フィールドおよび <tran> の 第 <n> フィールドは必ず昇
順でソートされていることが条件になります。

join1 との違いは、<master> のキーフィールドの値が同一のレコードが複
数存在できる点です。<master> と <tran> のキーフィールド値が同一のレ
コード同士を総掛けで連結して出力します。

<key>としては、
key=3     <tran> の第3フィールド
key=3/5   <tran> の第3,4,5フィールド(<master> は第1,2,3フィールド)
key=4@3   <tran> の第4,3フィールド(<master> は第2,1フィールド)
key=NF    <tran> の最終フィールド(<master> は第1フィールド)
key=NF-3  <tran> の(最終-3)フィールド(<master> は第1フィールド)
が指定できます。

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

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

<例1>

(マスター:master)
$ cat master
1 東京
1 東京
2 大阪
2 大阪

(トランザクション:tran)
$ cat tran
1 新宿
1 上野
2 梅田
2 難波
2 京橋
3 金山
3 栄
3 熱田
4 博多
4 天神

$ join1x key=1 master tran > data
$ cat data
1 東京1 新宿
1 東京2 新宿
1 東京1 上野
1 東京2 上野
2 大阪1 梅田
2 大阪2 梅田
2 大阪1 難波
2 大阪2 難波
2 大阪1 京橋
2 大阪2 京橋