Ddecompose - Dレコードのフィールドインスタンス単位表現への変換

[ 英語 | 日本語 ]

[Dホームページへ]

形式

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
seqfieldseqfieldnamevalue
10aA1
11cC11
12bB1
13cC12

出力レコードの先頭には,オプション"-F"指定により "filename"を入れることができる。

さらに, オプション"-i"指定(idフィールド)により, 出力レコードに入力レコードの任意のフィールドを コピーすることができる。 もとのレコードからコピーされるidフィールドは, 通常の変換処理から外される。 通常,idフィールドは入力ファイルでの レコード識別子となる"キー"フィールドを指定するが, これは必須条件ではない。 入力ファイルのどのフィールドをいくつでも idフィールドとして指定してよいし, そのフィールドが実際にレコードを識別する ものでなくてもかまわない。

オプション

-i field-list
idフィールド。これらのフィールドは 入力Dレコードからこぴーされ "seq"フィールドの後におかれる。 これらのフィールドは,decompose処理をされない。
-F
"filename"フィールドを出力各レコードに付加する。 値は,シェルから渡された入力ファイル名である。 入力ファイルが標準入力の場合このフィールドは付加されない。 adds "filename" field to each output record; value is the input filename in the form of the command arguments after globbed by the shell. This field is not added when the input file is the standard input.
-D [i/o]datautf=8|16|32
UTF入出力機能参照。

既定フィールド名

filename:
オプション-Fが指定された場合, 各出力レコードの先頭。
seq:
出力レコードの先頭。あるいは, もしあれば"filename"の後。
fieldseq:
"seq"フィールドの後, "-i"オプションがあればidフィールドの後。
fieldname:
"fieldseq"フィールドの後。
value:
出力レコードの最後。

環境変数

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

使用例

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

メッセージ

マニュアルD_msg参照。

参照

DintroD_msgDcompose

AUTHOR

MIYAZAWA Akira


miyazawa@nii.ac.jp
2011-2013