Dfd [ -e ] [ -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 はできるだけ自然な順番を見つけようとする。
各出力レコードは,次のフィールドをこの順に持つ。
Dfdは,当該フィールドのすべての値を調べて, それらがすべて数値として解釈できる場合数値属性を, そうでなければ文字列属性を報告する。 数値は前後に空白があってもよい。 詳細は Dintro を参照。
数値属性は,次のいずれかである。
文字列属性は次のいずれかの語のならび(+の入ることもある) からなる。
文字クラスを示す拡張属性はオペレーティングシステム 環境に依存する。
内部コードがUCSの場合 (Windows,LinuxおよびSolarisでロケールがUTF-8の場合), 文字のブロック名が文字クラスとなる。 ブロック名ごとにNAscフィールドが一つづつ作られる。 NAscフィールドの例を示す。
NAsc:Hiragana
NAsc:CJK Unified Ideographs
SolarisでUTF-8以外のロケールを使用する場合, NAscフィールドは作られない。 内部コードの構成がアプリケーションには 非公開となったためである。
マニュアル D_msg参照。
MIYAZAWA Akira