pg - テキストファイルをページ単位で参照する
pg -*amount *-p prompt -cefnrs +line +/pattern/ file_ ...
pg は 1 つのテキストファイルの内容を、 1 度に CRT 画面内に表示できる分だけ表示する。 個々のページの下段には、 プロンプトが表示される。 ユーザーは、 次のページを見るためには、 改行 (newline) を入力する。 または、 以降に示すキー入力を行うことができる。
コマンドラインからファイル名が指定されなかった場合、 pg は標準入力からの読み込みを行う。 標準出力が端末ではない場合、 pg は cat(1) と同様に動作する。 ただしファイルが複数あるときには、 ファイル内容の先頭にファイル名をつけて出力する。
パイプからの入力である場合、 ナビゲーションを実現するため、 pg はデータ内容をバッファーファイルに保存する。
pg には以下のオプションがある。
+number
指定された行番号から、 処理を開始する。
+/pattern*/*
指定された基本正規表現 pattern に一致する行から、 処理を開始する。
-number
各ページの行数を指定する。 デフォルトは、 CRT の行数から 1 を引いた数である。
-c
ページ表示の前に画面クリアを行う。 ただし、 端末に対応する terminfo エントリーが、 この機能を提供している場合に限る。
-e
ファイル終端において、 停止せず EOF を表示しない。
-f
長い行を分割しない。
-n
このオプションがない場合には、 コマンド処理は改行文字で終わらなければならない。
このオプションを使うと、 pg は、 コマンド 1 文字を入力するたびに、 処理を行う。
-p string
プロンプトとして、 通常の : ではなく、 string を表示する。 string の中に %d を含めると、 最初に現れた分に対して、 現在のページ数に置き換えられる。
-r
シェルエスケープを行わない。
-s
強調 (standout) モードでメッセージを表示する。 ただし、 端末に対応する terminfo エントリーが、 この機能を提供している場合に限る。
-h, --help
ヘルプを表示して終了する。
-V, --version
バージョンを表示して終了する。
プロンプトでは、 以下のコマンドを入力することができる。 本書での説明において、 コマンドの前に示す i は、 数値引数であり、 正負のいずれでもよい。 この引数が + または - で始まっている場合、 入力ファイル内の現在位置からの相対位置として解釈される。 それがない場合は、 ファイル先頭からの位置を表す。
i<Enter>
次ページ、 または指定されたページを表示する。
id or ^D
次のページ半分を表示する。 i が指定された場合、 必ず現在位置からの相対位置として解釈される。
il
次ページ、 または指定されたページを表示する。
if
順方向に 1 ページ分スキップする。 i は正数値でなければならない。 必ず現在位置からの相対位置として解釈される。
iw or iz
<Enter> と同様であるが、 i が新たなページサイズとなる。
. or ^L
画面を再表示する。
$
入力ファイルの最終行に進む。
i/pattern/
基本正規表現 pattern に初めて一致するところまで、 あるいは i 回、 一致するところまで、 順方向に検索を行う。 検索処理は、 現在のページから始まり、 ファイルの終わりで終了する。 先頭に戻っての検索は行われない。 i は正数でなければならない。
i?pattern? or ipattern
基本正規表現 pattern に初めて一致するところまで、 あるいは i 回、 一致するところまで、 逆方向に検索を行う。 検索処理は、 現在のページから始まり、 ファイルの先頭で終了する。 終わりに戻っての検索は行われない。 i は正数でなければならない。
検索コマンドは、 追加の英字を受けつける。 t が指定された場合、 パターンに一致する行が、 画面最上段に表示される。 この動作がデフォルトである。 m は、 画面中段を選択する。 b は、 画面下段を選択する。 選択されたこの位置は、 次の検索に利用される。
in
次のファイルへ、 または i 個先のファイルへ進む。
ip
1 つ前のファイルを再読み込みする。 または i 個前のファイルへ進む。
s filename
現在のファイルを、 指定された filename に保存する。
h
コマンド概要を表示する。
!command
シェルを使って command を実行する。
q or Q
終了する。
pg によるファイル入力時や端末への出力時に、 ユーザーが処理中断するか、 終了キーを入力すると、 pg はすぐにプロンプトを表示する。 それ以外の場合、 pg はそういった入力により終了する。
次の環境変数は、 pg の動作に影響を及ぼす。
COLUMNS
これが設定されている場合は、 システムが定めるカラム数を上書きする。
LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES
See locale(7).
LINES
これが設定されている場合は、 システムが定める行数を上書きする。
SHELL
! コマンドにより用いられる。
TERM
端末タイプを決定する。
pg では、 ターミナルのタブ位置が 8 カラムごとに設定されているものとして動作する。
NUL 文字を含むファイルは、 pg では表示できない。
cat(1), more(1), sh(1p), terminfo(5), locale(7), regex(7), term(7)
バグ報告は、 以下にある issue トラッカーを利用すること。 <https://github.com/util-linux/util-linux/issues>.
pg コマンドは util-linux パッケージの一部であり、 以下からダウンロードできる。 Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.