PR(1)

名称
pr - ファイルの表示

書式
pr [+page] [- column] [-adFfmprt] [ [-e] [char] [gap]] [-L locale] [-h header] [ [-i] [char] [gap]] [-l lines] [-o offset] [ [-s] [char]] [ [-n] [char] [width]] [-w width] [-] [file ...]

解説
pr ユーティリティは、テキストファイルをページ単位に整形し、 出力します。複数の入力ファイルが指定された場合はそれぞれについて読み、 整形し、標準出力に書き出します。デフォルトでは、入力ファイルは 1 ページ 66 行に分割され、各ページに以下のものがつきます。

•   ページ番号、日付、時間、ファイルのパス名のついた 5 行のヘッダ

•   空行からなる 5 行のトレーラ

標準出力が端末の場合、 pr が処理を完了するまで、診断メッセージを出しません.

マルチカラム出力が指定された場合、テキストの各列は同一の幅で出力されます。 デフォルトでテキストの各列は 1 つ以上の <blank> で分割されます。入力行がテキストの幅からはみ出るときは切り捨てられます。 単一列の出力の場合は切り捨てられません。

オプション
以下のオプションの記述において、 column, lines, offset, page, width は 10 進の正の整数で、gap は 10 進の負でない整数です。

+page
    入力を整形したあと、ページ番号 page から出力をはじめます。

- column
    column 列で出力します (デフォルトは 1)。テキストは 入力ファイルから読んだ順に、各列に垂直に書かれます。このオプションを 指定すると、 -e と -i オプションも指定されたものとみなされます。このオプションは、 -m と一緒に使用することはできません。 -t と一緒に使用すると、出力の表示行数が最小になります (もっと一般的に、追加の整形無しにテキストファイルをカラム化して整形するには、 rs(1) ユーティリティを参照してください)。

-a  このオプションは -column オプションを変更し、 同一ページで行毎に、順次複数列の出力を行います (例えば, 列数が 2 の場合、最初の入力行を第 1 列先頭、2 番目の入力行を 第 2 列先頭、3 番目の出力を第一列第 2 行にという具合です)。 このオプションを使うには -column オプションの指定が必要です。

-d  ダブルスペースで出力します。入力に <newline> を見つけると、続けて余分な <newline> を一つ出力します。

-e  [char] [gap] 入力中の各 <tab> を、式 n*gap+1 で表される位置のうちの現在位置の次に大きい列位置まで展開します。 この n は 0 より大きい整数です。 gap が 0 もしくは省略された場合、デフォルトとして 8 が指定されたことになります。 入力中のすべての <tab> キャラクタは、適切な個数の <space> に展開されます。 数字でない文字 char が指定された場合、この文字がその入力のタブキャラクタとして使われます。

-F  デフォルトの <newline> キャラクタシーケンスの代わりに、 改ページに <form-feed> キャラクタを使います。

-f  -F と同じですが、標準出力が端末の場合には最初のページを開始する前に 一時停止します。

-h header
    ヘッダ行内のファイル名を、文字列 header に置き換えます。

-i  [char] [gap] 出力において、2 個以上の空白が、 式 gap+1 や 2*gap+1 などの列まで連続していた場合に、 この複数の <space> を <tab> で置き換えます。 gap が 0 もしくは省略された場合、デフォルトとしてタブ位置が 8 列ごとと指定された ことになります。 数字でない文字 char が指定された場合、それがその出力のタブキャラクタとして使われます。

-L locale
    環境変数のかわりに、引数として指定される locale を使用します。 ロケールをデフォルト設定にリセットするには、"C" を使用します。

-l lines
    ページ長をデフォルトの 66 行のかわりに lines 行にします。 lines がヘッダとトレーラの行数の和より大きくないときには、 -t オプションをつけたときのように、ヘッダとトレーラを出力しません。

-m  複数のファイルの中身をマージします。引数で指定した各ファイルから 読み込まれた一つの行は、同一の幅で並べて書かれます。テキストの列の数は、 引数で指定したファイルのうちのオープンに成功したものの数になります。 マージするファイルの最大値は、ページ幅とプロセスがオープンできる ファイルの最大数に依存します。このオプションを指定すると、 -e と -i オプションも指定されたものとみなされます。

-n  [char] [width] width 桁の 行番号をつけます。 width のデフォルト値は 5 です。 各列の width で指定された位置、 または -m による出力の各行に、行番号がつきます。 char (数字でない文字)が与えられた場合は、 行番号とテキストの間をその文字で区切ります。 char のデフォルトは <tab> です。 width より長い行番号は 切り詰められます。

-o offset
    出力の各行の先頭には offset 個の <space> がつきます。 -o オプションの指定がなければ、デフォルトは 0 になります。 このスペースは出力の幅に追加されます。

-p  標準出力が端末の場合には、各ページの前に一時停止します。 pr は警告文字を標準エラーに書き込み、復改が端末から読み込まれるまで待ちます。

-r  ファイルのオープンに失敗したときのエラーメッセージを出力しません。

-s char
    テキストの各列間を、複数個の <space> の代わりに単一の文字 char で分割します ( char のデフォルトは <tab> です)。

-t  通常ならば各ページに付加される 5 行の識別ヘッダと 5 行のトレーラを どちらも表示しなくなります。各ファイルの最終行が出力されたあと、 ページの最後までの空白を作らずに、そこで動作をやめてしまいます。

-w width
    マルチカラム出力のために、1 行の幅を width 文字分にします。 -w オプションも -s オプションも指定されなかった場合、デフォルト幅は 72 です。 -w オプションが指定されずに -s オプションが指定された場合は、デフォルト幅は 512 になります。

file
    表示するファイルのパス名です。 file が指定されなかった場合、もしくは file が ‘-’ だった場合は、標準入力が利用されます。 標準入力が使用されるのは、 file が指定されなかった場合、もしくは file が ‘-’ だった場合のみです。

-s オプションでは、オプション文字 (`s') と その引数 ( char ) との間を空けることは許されていません。また、 -e, -i, -n は両方の引数が必要で、オプション文字と分割できません。

エラー
pr が端末に出力中に割り込みを受け取ると、 保存していたエラーメッセージを スクリーン上に全てフラッシュしてから終了します。

診断
pr ユーティリティは, 正常終了時には 0 を、 エラー終了時には 1 を返します。

エラーメッセージは、(出力がリダイレクトされている場合は)整形作業中に、 (端末に出力されている場合は)整形に成功したすべてのファイル出力が完了した後、 標準エラー出力に表示されます。

関連項目
cat(1), more(1), rs(1)

規格
pr ユーティリティは p1003.1-2001 に準拠しています。

歴史
pr コマンドは AT&T UNIX に登場しました。

バグ
pr ユーティリティは、マルチバイト文字を認識しません。