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

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

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

(動画教材準備中)

upl

概要

upl : 二つのファイルを同一キーフィールドでマージして
キーフィールドの値が同一の最終行を抽出する。

書式

Usage : up3 key=<key> <master> <tran>
Options : -e
-s<c>
Version : Wed Mar 7 13:53:56 JST 2018
Edition : 3

説明

引数のファイル又は標準入力のトランザクションファイル <tran> の各引数のファイル又は標準入力のテキストデータ "tran" の各レコードを、"key="で指定したフィールドの値をマスターファイル "master" の同一キーフィールドの値と比較し、値が同じ "master" ファイルのレコードの下に挿入・マージを行なった後、キーフィールドが同一の値のレコードのうち最終のレコードを抽出します。

<master> <tran> とも、キーとなるフィールドはソートされている必要があります。

※ up3 + getlast と同じ働きをします。

例1

(マスター:master)
a店 103 62
b店 157 94
c店 62 30
d店 210 113
e店 237 121

(トランザクション:tran)
a店 131 84
c店 198 105
e店 81 48

$ upl key=1 master tran > data
(data) <- tranをマージして同一店の最終行を抽出
a店 131 84
b店 157 94
c店 198 105
d店 210 113
e店 81 48

複数のキーフィールドを指定する場合は、"key=2@1" の様に"@" でつないで指定します。連続したキーフィールドを指定する場合は、"key=3/7" の様に"/" でつないで指定します。

キーの長さやキーフィールド数の制限はありません。日本語などのマルチバイト文字が含まれていても構いません。フィールド位置の後に r を付けると、そのフィールドは降順にソートされます。n を付けると数値として比較されます。nr を付けると、数値として比較されて降順にソートされます。/ の前後のフィールドにソート種別を付ける場合は、前後で揃っている必要があります。

upl key=2n/5n file1 file2 ○
upl key=2n/5nr file1 file2 ×
upl key=2n/5r file1 file2 ×

-e オプションを指定すると、以下の置換を行った文字列で比較を行います。

_ → 0x20 (space)
\0 → 0x00 (null)
\t → 0x09 (tab stop)
\n → 0x0a (new line)
\r → 0x0d (carrige return)
\_ → 0x5f (under score)
\\ → 0x5c (back slash)

この置換の _ は、-s<c> オプションで変更することができます。