Dcompose - フィールドインスタンス単位表現からのDレコードの構成

[ 英語 | 日本語 ]

[Dホームページへ]

形式

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フィールドが同じキー値の入力レコード群のうち 先頭のレコードからコピーされる。

オプション

-i key-field-list
idフィールド。 これらのフィールドは,出力Dレコードに コピーされる。
-k key-flags
"seq"フィールドおよび key-field-listフィールドの 省略時キーフラグ。
-D [i/o]datautf=8|16|32
UTF I/O feature (see manual page of UTF入出力機能参照。

既定フィールド名(入力)

seq:
出力レコード構成のキー値。
fieldname:
出力フィールドの<field name>部分。
value:
出力フィールドの<value>部分。

環境変数

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

使用例

Dcomposeの典型的な使用例は, 表の行列転置である。 Dチュートリアル行列転置参照。

メッセージ

マニュアルD_msg参照。

参照

DintroD_msgDdecompose

AUTHOR

MIYAZAWA Akira


miyazawa@nii.ac.jp
2011-2013