Ddecompose [ options ] [ input-file.. ]
Ddecomposeは,Dレコードを分解して "フィールドインスタンス単位表現"に変換する。 この表現法では,各Dレコードが,入力オリジナルDレコードの 個別のフィールドインスタンスに対応する。 フィールドインスタンス単位表現のDレコードは, もとのDレコードを再現するために必要な4つのフィールドを持つ。 もとのフィールドの<field name>部分を保持する "fieldname"フィールド, もとのフィールドの<value>部分を保持する "value"フィールド, もとのDレコードのレコード順(1から始まる全入力ファイル内 での一連番号)を保持する "seq"フィールドおよび もとのDレコード内でのフィールドの位置 (もとの各レコードごとに0から始まる)を示す "fieldseq"フィールドの4つである。 フィールドインスタンス単位表現でのこれらの フィールド名は固定されている。 Ddecompose出力におけるフィールド順は, "seq","fieldseq", "fieldname","value"である。
たとえば,
a:A1
c:C11
b:B1
c:C12
をフィールドインスタンス単位表現(Dpr形式)にすると, 次のようになる。
Atomized representation seq fieldseq fieldname value 1 0 a A1 1 1 c C11 1 2 b B1 1 3 c C12
出力レコードの先頭には,オプション"-F"指定により "filename"を入れることができる。
さらに, オプション"-i"指定(idフィールド)により, 出力レコードに入力レコードの任意のフィールドを コピーすることができる。 もとのレコードからコピーされるidフィールドは, 通常の変換処理から外される。 通常,idフィールドは入力ファイルでの レコード識別子となる"キー"フィールドを指定するが, これは必須条件ではない。 入力ファイルのどのフィールドをいくつでも idフィールドとして指定してよいし, そのフィールドが実際にレコードを識別する ものでなくてもかまわない。
マニュアルD_msg参照。
MIYAZAWA Akira