Dbundle - キー値によるDレコードの垂直マージ

[ 英語 | 日本語 ]

[Dホームページへ]

形式

Dbundle [ -k key-flags] key-field-list [ input-file.. ]

説明

Dbundle は,入力ファイルを key-field-list で指示されるキー値によってバンドリングする。 バンドリングはD-ファイル演算の一つで, 同じキー値を持つレコードのグループを一つのレコードにする。 新しいレコードは一つ(または一組)のキーフィールドと, そのグループの全レコードのキーフィールド以外のフィールドからなる。 例えば"key"フィールドの値がAである次の3レコードがあったとする。

key:A
oth:1

key:A
oth:2

key:A
oth:3

これをキーフィールド"key"でバンドリングすると次の1レコードとなる。

key:A
oth:1
oth:2
oth:3

最初のレコードの全フィールドはそのまま出力ファイルに出される。 つづいて,後続レコードのキーフィールド以外のフィールドが同じレコードとして 出力される。

レコードが同じグループとされるのは, 前のレコードと同じキー値を持っていたときである。 通常入力ファイルはキー順にソートしておくが, キー順であることは必須ではない。

オプション

-k key-flags
key-field-listkey-flags の省略時の値を与える。 マニュアル Dintro参照。
-D [i/o]datautf=8|16|32
UTF入出力機能参照。

環境変数

Ddatautf, Didatautf, Dodatautf
UTF入出力機能参照。

使用例

次のコマンドは,下に示すようなDファイル"words.d"から, 語索引をプリントするためのDファイルを作成する。

Dsort word:fd words.d | Dbundle word

入力ファイル:

page:1
word:Dfile

page:1
word:bundling
......

結果:

page:1
word:bundling
page:...

page:1
word:Dfile
page:...
......

重複レコードの消去(UNIXのuniqに相当)。

Dsort "^" | Dbundle "^"

メッセージ

マニュアル D_msg参照。

参照

DintroDunbundleD_msg

AUTHOR

MIYAZAWA Akira


miyazawa@nii.ac.jp
2003