Dcompose [ options ] [ input-file.. ]
Dcompose は,Ddecomposeの 逆変換しょりである。 フィールド"fieldname","value"をもつ フィールドインスタンス単位表現から 対応する<field name>,<value> をもつDフィールドを作成し,Dレコードの 再構成を行う。
入力Dレコードには,3つの既定フィールド名フィールド が必要である。 そのうち2つ"fieldname"および"value"は, Dフィールドを再構成するために用いられる。 最後の"seq"フィールドは, 出力Dレコードを構成するために用いられる。 フィールド"seq"の値の等しい連続した 入力レコードが,ひとつの出力Dレコードとしてまとめられる。 この処理は,"seq"フィールドをステムとした Dbundle処理と似ているが, Dcomposeの出力からは, "seq"フィールドが,除去される。
入力レコードにおけるフィールド"seq",フィールド "fieldname"およびフィールド"value"の フィールド順は任意である。 オプション"-i"(後述)に指定されていない限り, 入力レコード中のこれら3つ以外のフィールドは無視される。
フィールド"seq"の値は,必ずしも順番を示す ものでなくてよいし,昇順や降順である必要もない。 単にDフィールドを出力レコードにまとめるためだけに 使用される。 入力レコードに"seq"フィールドがない場合, "seq"フィールドが空値として扱われる。
入力レコード中のフィールド"fieldname"の値には COLON (:)を含んではならない。 ただし,Dcomposeは,これをチェックしないので ユーザの責任で正しい値をセットする必要がある。 フィールド"fieldname"が繰り返しある場合, 最初の値が使用される。 入力レコード中に"fieldname"フィールドがない場合, 対応する<field name>は空文字列とされる。
入力レコード中に"value"フィールドがない場合, 対応する<value>は空文字列とされる。 入力レコード中のvalue"フィールドが繰り返す場合, 最初の値だけが用いられる。
オプション"-i"(idフィールドリスト)を指定すると, "seq"フィールドの代わりに idフィールドで出力レコードをまとめることができる。 この場合,"seq"フィールドと異なり, idフィールドは出力レコードの先頭に 置かれる。
idフィールドまたは"seq"フィールドは, キー値として比較される。 キー値としての比較には"key-field-list と-k"オプションが作用する。 出力レコードのidフィールドの値は, idフィールドが同じキー値の入力レコード群のうち 先頭のレコードからコピーされる。
マニュアルD_msg参照。
MIYAZAWA Akira