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

[ 英語 | 日本語 ]

形式

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

DbnDbundleの短縮形(UNIXのみ)。

説明

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ファイル"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