Dfd - フィールド記述

形式

Dfd [ -g key-field-list ] [ -k key-flags ] [ input-file.. ]

説明

Dfd は、入力ファイルからDレコードを読んで フィールド記述レコードの組を作成する。 フィールド記述レコードは、入力ファイルの フィールド名と種々の属性とを記述したものである。 ふつうの使い方では、Dfd の出力は Dpr にパイプで渡して表示する。

他の指定のない限り、 Dfdは 各入力ファイルの終わりごとに フィールド記述レコードの組を出力する。 入力ファイルの全フィールドがフィールド記述レコードに現れる。

オプション -g が指定されると、 Dfd は同一キー値のレコードのグループごとに フィールド記述レコードの組を作成する。 グループ化キーフィールド自体に対しては、 フィールド記述レコードは作成されない。 グループ内に出現するフィールドのみが フィールド記述レコードに現れる。

Dfdの出力するフィールド記述レコードの組における フィールド記述レコードの順番は、入力Dレコードにおける フィールド順に依存して決まる。 すべての入力レコードが同じフィールド順 ("a", "b", "c")であれば、 出力レコードもその順 (最初のレコードがフィールド"a"の記述レコード、 2番目がフィールド"b"の、3番目がフィールド"c"の)となる。 入力レコードのフィールド順が変化している場合、 Dfd はできるだけ自然な順番を見つけようとする。

オプション

-g key-field-list
グループ処理; フィールド記述レコードは同じキー値を持つレコードグループごとに出力される。
-k key-flags
key-field-listの省略時キーフラグ。 マニュアル Dintro参照。

出力レコード

各出力レコードは、次のフィールドをこの順に持つ。

filename:
入力ファイル名。シェルによって展開された形。 このフィールドは、入力ファイルが標準入力の場合出力されない。
グループ化キーフィールド
オプション -g が指定されたとき。 key-field-list として指定されたフィールドの値が入る。 ただし、値はキーフラグによってもとのままのものとは 違う場合もある。
fieldname:
そのフィールド名。
min:
そのフィールドの最少出現回数。 この値が0であれば、 1つ以上のレコードにこのフィールドがないことを示す。
max:
そのフィールドの最大出現回数。 この値が1より大きければ、 このフィールドはリピーティングであることを示す。
exists:
このフィールドの値は"/"で区切られた2つの数値からなる。 最初の部分は、そのフィールドを持っているDレコードの数、 2番目の部分は、入力Dレコード数である。 minの値が0でなければ、この2つの部分の数値は等しい。
minlen:
そのフィールドの最小長(文字数)。
maxlen:
そのフィールドの最大長(文字数)。 もし minlenmaxlen とが同じ値であれば、そのフィールドは固定長である。
avglen:
そのフィールドの平均長(文字数)。
attribute:
そのフィールドの数値/文字列属性を示す。 attributeフィールドは、そのフィールドに値がない (maxlenが0)とき、出力されない。 内容は、次の節を参照。
position:
そのフィールドの相対的位置についての情報。 値が"split"のとき、そのフィールドはリピーティング になっていて、出現位置がDレコード内で離れた位置 (間に別のフィールドがある)に現れたことを示す。 そのフィールドはリピーティンググループの1部かもしれない。 positionフィールドは、値"split"のときのみ出力される。

属性

Dfdは、当該フィールドのすべての値を調べて、 それらがすべて数値として解釈できる場合数値属性を、 そうでなければ文字列属性を報告する。

数値属性は、次のいずれかである。

Int
非負10進整数。
Int-
負を含む10進整数。
Num
小数点を含む10進数、または.3141593e01のような浮動小数点表記。
Hex
16進数。 これは、0-9、A-Fおよびa-fだけからなる文字列である。 "Ace"や"Fee"といった文字列も16進数として解釈される。
Hex/Num
16進数または数値。 たとえば、値"4E01"は16進数でも浮動小数点表記4.0でもありうる。

UNIXのEUCコード環境では、 文字列属性は次のいずれかの語のならび(+の入ることもある) からなる。

csN
コードセットNの文字がある。 コードセット0はASCIIである。その他のコードセットはロケールに よって決まっている。
Nprt.
非印字文字を含む。

Windows環境では、 文字列属性は次のいずれかの語のならび(+の入ることもある) からなる。

Asc
ASCII文字を含む。
NAsc
非ASCII文字を含む。
Nprt.
非印字文字を含む。

メッセージ

マニュアル D_msg参照。

参照

DintroDrcD_msg

AUTHOR

MIYAZAWA Akira


miyazawa@nii.ac.jp
2003