pr - ファイルを印刷用に整形する

prコマンドは、ファイルの内容を印刷用に適した形式に整形を行います。

実際に印刷をするコマンドではありません。

スポンサーリンク

prコマンドとは

prコマンドは、引数にあるファイルや標準入力を印刷用に適した形式としてページ付けやマルチカラム形式に整形して、標準出力に書き出します。ただし、実際の印刷を行う場合に利用できるかどうかはまた別問題かもしれません。

prコマンドの利用例

印刷用に整形
(オプションなし)

prコマンドは、デフォルトで利用するとファイルの内容をそれぞれのページに分けて印刷用に整形します。
それぞれのページには5行のヘッダーをつけます。ヘッダーは2行の空行の後に、1行で日付、ファイル名、ページ番号を書き出し、さらに2行の空行を入れます。また、5行の空行であるフッターも入れます。
コマンド例で利用しているファイルはplatoの「The Republish」の導入の最初の方を使用しています。

コマンド例

the_republic.txt ▼表示

実行結果

2列以上で表示
(--columnsオプション)

--columnsオプション(または-2,-3のような数字のオプション)はファイルの表示を2列以上にすることができます。1列にある行が長すぎる場合は、切り捨てられるので注意が必要です。切り捨てられたくない場合はfmtコマンドを用いるとよいかもしれません。

コマンド例

または

実行結果

whiptailコマンドと組み合わせてみる

whiptailコマンドはシェルで、ダイアログ画面を表示させるコマンドになります。whiptailコマンドでマルチカラムのテキストを表示させたい場合にprコマンドを利用できるかもしれません。

ここでは、テキストファイルを2列の形式で表示させたいと思います。また、whiptailコマンドで表示させるためにfmtコマンドで行を切り捨てられないように前処理し、さらにexpandコマンドでタブをスペースに変換する後処理を行っています。

コマンド例

実行結果

whiptail-pr

端末の高さを50文字、幅を80文字に設定しています。また、実行した後はTABでOKボタンに移動し、終了できます。
prコマンドの-lオプションはページの長さを設定するオプションです。

参考

GNU Coreutils: pr invocation