【more】Linuxでファイルをページ単位で表示するコマンド

Linuxでファイルをページ単位で表示するmoreコマンドについて説明します。テキストをページ単位で表示できるコマンドとしてlessコマンドがありますが、lessコマンドはmoreコマンドの機能を拡張したものです。

moreコマンドの使い方

moreコマンドの書式は以下の通りです。

more [オプション] [ファイル ...]

moreコマンドは、指定したファイルあるいは標準入力をページ単位で出力します。

オプション

-n 表示する画面サイズ(行数)を整数で指定する
-d 不正な入力対してページの下部にメッセージを表示する
-l 改ページを表す「^L」を無視する
-f 長い行を画面内で折り返さない
-p スクロールせずに画面を消去してテキストを表示する
-c 表示された行をを消去し、画面上部からテキストを表示する
-s 連続する複数の空行を1行として表示する
-u アンダーラインを付けずに表示する
-数値 1ページに表示する行数を指定する
+/正規表現 正規表現に合致する行から表示を開始する
+数値 指定した数値の行から表示を開始する

閲覧画面内で行える操作

画面表示時に使用できる操作キーは以下の通りです。一部のコマンドでは、キー入力の直前に数値を指定することで、表示の方法を切り替えることができます。

h , ? moreコマンドの操作ヘルプを表示する
SPACE 次ページに進める
z 次ページに進める。入力前に数値を指定すると、その行数だけ進める
RETURN 1行進める。入力前に数値を指定すると、その行数ずつ進める
d , ^D 1行進める。入力前に数値を指定すると、その行数ずつ進める
q , Q moreコマンドを終了する
s 1行進める。入力前に数値を指定すると、その行数ずつ進める
f 1画面進める。入力前に数値を指定すると、その画面数ずつ進める
b , ^B 1画面戻る。入力前に数値を指定すると、その画面数ずつ戻る
, 前回検索を開始した位置に戻る
= 現在の行番号を表示する
/正規表現  正規表現に合致する行に進める。(※1)
n 前回検索した位置に戻る。入力前に数値を指定すると、その数値分戻る
! or :! シェルを起動し後に直後に入力したコマンドを実行する
現在表示している行からエディタを起動する(※2)
^L 画面を再描画する
:n 次ファイルに進める。入力前に数値を指定すると、そのファイル数だけ進める
:p 前ファイルに戻る。入力前に数値を指定すると、そのファイル数だけ戻る
:f ファイル名と行番号を表示する
. 直前のコマンドを繰り返す

※1:入力前に数値を入力することで、その回数だけ検索し、最後にマッチした行を表示する。

※2 環境変数VISUALで指定されたエディタを起動し、未定義の場合はEDITORで指定されたものを起動する。どちらも定義されていない場合は、viを起動する。

moreコマンドの実行例

ここではいくつかのmoreコマンドの実行例を紹介します。

ファイルを読み込む

ファイル名を引数に指定して読み込む例です。

$ more a.txt

リダイレクトを使用することも可能です。

$ more < a.txt

コマンドの実行結果を読み込む

パイプを使ってコマンドの実行結果を標準入力として読み込みます。以下は、「ls -l」の結果を表示する例です。

$ ls -l | more

指定行数から表示する

「+数値」オプションを指定してコマンドを実行します。以下は、a.txtを50行目から表示する例です。

$ more +50 a.txt

文字列を検索しその行から表示する

「+/正規表現」オプションを指定してコマンドを実行します。以下は、文字列「 root」が出現した行数から表示を開始する例です。

$ more +/root sample.csv

複数ファイルを同時に閲覧する

実行時に複数ファイルを指定します。表示時に「:n」「:p」を使うことでファイルを切り替えることができます。

$ more a.txt b.txt