[ 英語 | 日本語 ]
Dpr [ -f field-format-list ] [ -g key-field-list ] [ -h header ].. [ -i field-list ] [ -k key-flags ] [ -n ] [ -p field-format-list ] [ -P printer ] [ -T directory ] [ -x x-size ] [ -y y-size ] [ -z default-options ] [ input-file.. ]
Dpr はD-ファイルを端末に表示またはプリンタにプリントする。 現バージョンでは行-カラム型のデバイスのみをサポートする。
表示/プリントはテーブル型のフォーマットで行う。 レコードはフィールドごとにカラムをそろえて配置される。 フィールド値が長すぎて行に入らない場合、 ページの右端からこぼれた部分は捨てられる。 フィールドを折り返してプリントする機能はない。
フィールドに対して出力フォーマットを指定することができる。 D_fmtマニュアル に示す出力フォーマットのうち、オプション l、 r および cfmt のみが有効である。 これ以外のフォーマットは指定しても無視される。 出力フォーマットは、コマンドオプション -f またはコマンドオプション -p で指定する。 オプション -f はフォーマットのみを与える。 オプション -f にないフィールドは省略時フォーマットでプリントされる。 これに対しオプション-p はフォーマットを与えるだけではなく、 プリントするフィールドおよびそのフィールド順を指定する。
リピーティングフィールド(1レコード中の複数の同一名フィールド)は、 縦形のボックス内に配置される。 ボックス内の各行がここのフィールドに対応する。 リピート数(同一名フィールドの個数)がページの最大行数を超えたときは、 残りの繰り返しは捨てられる。 レコードの表示がページを超えて続くことはない。
テーブルの幅がページに収まりきれない場合、 Dpr は多層の配置をする。 1ページを層に分け、1レコードを層にまたがって表示する。 各層での同一レコードを識別しやすくするため レコード番号(1からはじまる)を各層の左端に表示する。 この識別用フィールドは、オプション -i によって、レコード番号の代わりに、 レコード内の任意のフィールド(複数可)にすることができる。
ページサイズは -x および -y オプションで与えることができる。 ただし、出力がttyの場合、 サイズはウィンドウサイズからとられる。 出力がプリンタの場合、 -x および -y の値は、環境変数 Dprintcap からとられる。 オプション -P を使用するためには、 この環境変数を正しくセットしなければならない。
タイトルラインには、 入力ファイル名、日付および時刻( Dpr を実行した日時)とページ番号が表示される。 ただし、これらは入力ファイルが標準入力の場合、 表示されない。 タイトル(複数可)をオプション -h で指定することもできる。 これらのタイトルは入力ファイル名の代わりにタイトルラインに 表示される。 複数のオプション -h がある場合、複数行のヘッダが作られる。 最初のオプションが最初の行、2番目のオプションが 次の行、…となる。
オプション -g を使用すると、 Dpr は指定のフィールドの値が変わったところで改ページしてプリントする。 また、この値がヘッダの最後の行としてプリントされ、これらのフィールド は、プリント本体には (オプション-pで指定しない限り)プリントされない。
通常、 Dpr は結果を標準出力に書き出す。 標準出力が端末の場合、 moreコマンドを使用して、ページ単位表示を行う。 ページ単位表示用コマンドは、環境変数PAGERによって 変更することができる。
オプション -P が指定されると Dpr は、出力をプリンタに送る。 プリンタ出力のためには環境変数 Dprintcap が必須である。 プリンタ出力の節を参照。
Dprは、一時的なテキストファイルを (UNIXの場合パイプライン出力に)作成して これをコマンドによってプリンタに送る。 このためのコマンドについて知る必要がある。 Windowsではこのコマンドはlpr(Windows NT4.0以降)であり、 UNIXではlpまたはlprコマンドである。 (これら以外でもプリンタ出力のできるコマンドであればよい)。 このコマンドはテキストファイル (UNIXの場合は標準入力から)を入力して、 固定ピッチフォントでプリンタにプリントできなければならない。
さらに、You have to know そのコマンドによって 1ページあたり何行何カラム印字されるかを知る必要がある。 この数字はプリンタのマニュアルにあるかもしれないが、 パターンをプリントしてみて数える方法もある。 カラム数は、フォントのASCII文字のピッチを単位として 数えること。
環境変数Dprintcap はSEMICOLON(:)で区切られた 1つ以上のエントリを持つ。 各エントリには、COLON(:)で区切られた 5つのフィールドを持つ。 これらのフィールドは位置によって識別され、 name、type、 columns、rows およびcommandの順である。
Nameは、 Dprコマンドのオプション-Pで使用する名前である。 これは、システム上のプリンタ名と同じでもいいが、異なっていてもかまわない。 この名前はDprコマンドの指定と Dprintcapのエントリを結びつけるためだけに使う。 当然、Dprintcapエントリ中で一意となるように名前をつけるべきである。
Typeは"t"を指定する。 これは"text"型であることを意味する。 将来的には"postscript"型などもサポートする予定があるが、 現在は"t"のみサポートする。
Columnsおよびrows は、当該コマンドによってプリントされる場合の1ページ最大の カラム数および行数である。 この値は、Dprのコマンドオプション-x、-y を省略したときに使用される。
Commandは文字列で、コマンドを指定する。 このコマンドがDprによって呼び出される。 たとえば、"lpr -S server -P printer というように指定する。次の使用例を参照。
Windowsの場合、Dprintcap環境変数は、 通常コントロールパネルの「システム」からセットする。 (この中のどこにあるかはバージョンにもよる)。 また、setコマンドによってセットすることもできる。 UNIXの場合、 Dprintcap環境変数は、通常 .profile、.cshrcなどのシェル初期化スクリプト ファイルに書いてセットする。
フィールド"filename"および"size"のみを表示する。
Dpr -p "filename,size"
Dファイル"test1.d"を、"classroom"フィールドの値が変わるごとに 改ページして表示する。見出しフィールドとして"student-id"フィールドを使う。
Dpr -i student-id -g classroom test1.d
Windos(NT4.0以降)で、Dprintcap環境変数をセットする:
(コントロールパネルの「システム」からセットしてもよい。)
set Dprintcap=LBP0:t:106:76:lpr -S PRTSERV -P LBP0;LBP1:t:106:76:lpr -S PRTSERV -P LBP1
UNIXのshでDprintcap環境変数をセットする。
Dprintcap="LBP0:t:106:76:lp -d LBP0"
export Dprintcap
UNIXのcshでDprintcap環境変数をセットする。
setenv Dprintcap "LBP0:t:106:76:lpr -PLBP0"
Dファイル"list.d"をLBP0と名付けたプリンタに出力する。
Dpr -P LBP0 list.d
マニュアル D_msg参照。
MIYAZAWA Akira