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
最初のレコードの全フィールドはそのまま出力ファイルに出される。 つづいて,後続レコードのキーフィールド以外のフィールドが同じレコードとして 出力される。
レコードが同じグループとされるのは, 前のレコードと同じキー値を持っていたときである。 通常入力ファイルはキー順にソートしておくが, キー順であることは必須ではない。
次のコマンドは,下に示すような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参照。
MIYAZAWA Akira