- Home ›
- コマンドプロンプトの使い方 ›
- ドライブとディレクトリ ›
- HERE
ファイルやコマンドの出力を画面毎に行う(MORE)
moreコマンドはリダイレクトやパイプによって標準入力から入力されたデータを画面単位で区切って標準出力へ出力します。非常に長いデータを一気にコマンドプロンプトへ出力すると画面がどんどんスクロールしてしまいます。moreコマンドを使用することで1画面に表示できるだけの情報を表示し、キー押す事によって続きの内容を順に見ることができます。
※リダイレクトやパイプについては「リダイレクトとパイプ」を参照して下さい。
具体的には次の書式を使います。
more < ファイル名 コマンド | more
ファイルの内容を出力する場合はリダイレクトを使ってファイル名を指定します。コマンドの実行結果を出力する場合にはパイプを使ってコマンド名を指定します。
コマンドプロンプトの拡張機能が有効になっている場合には単に次のように記述することもできます。
more ファイル名 more /e ファイル名 <- /eオプションは拡張機能を有効にします
また複数のファイルを続けて出力する場合は空白を区切り文字として続けてファイルを指定して下さい。
more ファイル名1 ファイル名2 ...
では実際に試してみます。まずはリダイレクトを使ってファイルの内容を画面単位で出力します。
moreコマンドを実行すると、現在のコマンドプロンプトの画面サイズの分だけファイルを表示し、いったん停止します。
ここで「Space」を押すと次の1画面分が表示されます。それ以降も最後の行が表示されるまで同じように繰り返し表示と停止を繰り返します。
次にパイプを使いコマンドの実行結果を画面単位で出力します。
moreコマンドのヘルプをパイプを使って画面単位で表示しています。
最後に複数のファイルを指定してまとめて出力を行います。
ファイルの内容がまとめた上で画面単位で出力するのではなく、ファイル毎に画面単位で出力を行うようです。その為、ファイルの内容が少ない場合は1画面に十分入る量であっても出力が止まることがあります。
キー操作
出力が停止した時に「Space」を押すと次の1画面分の出力が行われますが、他にも次のキーを利用することができます。
P n 次の n 行を表示します。 S n 次の n 行をスキップします。 F 次のファイルを表示します。 Q 終了します。 = 行番号を表示します。 ? ヘルプを表示します。 Space 次ページを表示します。 Enter 次の行を表示します。
では実際に試してながらいくつかのキーを試してみます。
画面が停止した時に「Space」ではなく「Enter」を押すと次の1行が表示されます。
「p」を押した後に行数を入力すると、次の入力した行数分だけ表示します。
「s」を押した後に行数を入力すると、次の入力した行数分だけスキップした位置から改めて一画面分を表示します。
「q」を押すとコマンドを終了します。
また複数のファイルを指定した場合、「f」を押すと現在表示しているファイルの表示は終了し次のファイルを先頭から1画面分表示します。
指定した行から表示を開始する
moreコマンドにおいてもいくつかのオプションが用意されていますが、指定した行から表示を開始するオプションを確認します。次の書式を使用します。
more +行数
「+行数」オプションを指定すると、指定した行から出力を開始します。非常に長い文書を出力する場合などに途中を飛ばして表示させたい場合などに便利です。
では実際に試してみます。オプションを指定せずにmoreコマンドを実行した場合は次のようになります。
more < list.txt
オプションとして「+6」を指定した場合には6行目から出力を開始します。
more +6 < list.txt
( Written by Tatsuo Ikura )