Dupdate [ -d ] [ -k key-flags] key-field-list input-file [update-file..]
Dupdate は,入力ファイル((一つだけ)からD-レコード(入力レコード)を読み込み, アップデートファイル(複数可)のD-レコード(アップデートレコード)と key-field-list で指定されたキー値でマッチングを行う。 マッチするレコードがあった場合, 入力レコードは捨てられ,アップデートレコードが標準出力に出力される。 マッチしなかった場合, 入力レコードは,標準出力に出力される。 マッチしなかったアップデートレコードも,キー値順に標準出力に出力される。 入力ファイルも,アップデートファイルも key-field-list 順にソートされていなければならない。
アップデートファイルの指定を省略すると, Dupdate は標準入力をアップデートファイルとして使う。 複数のアップデートファイルが指定された場合, Nウェイマッチングを行い, 後ろのファイルが前のファイルに優先する。 結果は,入力ファイルを最初のアップデートファイルで Dupdate し,その出力を2番目のアップデートファイルで Dupdate し,とした結果と同じである。
キーは,入力ファイルやアップデートファイルで一意でなくてもかまわない。 この場合,入力ファイルのキー値の等しい複数レコードが, 同じキー値を持つアップデートレコードのグループで置換えられる。
オプション -d が指定されると,[最後の]アップデートファイルが 削除レコードを含んだ,削除用ファイルとされる。 削除用レコードにマッチしたレコードは捨てられ, 標準出力に出力されない。 通常,削除用レコードはキーフィールドだけを含むが, その他のフィールドを含んでもかまわない。 キーフィールド以外のフィールドは, 単に無視される。
マニュアル D_msg参照。
MIYAZAWA Akira