LinuC Level1 v10.0 対策コース(パート1)27/39
Linuxコマンド [head/tail/more/less編]
こちらの記事ではhead
・tail
・more
・less
といったテキストデータを扱う時に便利なコマンドを紹介していきます。
head
コマンド
head
コマンドは、ファイルやコマンドの出力の先頭から10行をデフォルトで出力します。
書式
head [オプション] [ファイル名]
オプション
オプション | 説明 |
---|---|
-c | 出力する文字数をバイト単位で指定する |
-n | nに指定した行数を出力する |
使用例
# test_fileというファイルを作成し、その中に以下のデータを入力します。
vi test_file
==============
111111
222222
333333
444444
555555
666666
777777
888888
999999
101010
111111
121212
==============
# test_fileの上から3行分を表示します。
head -3 test_file
111111
222222
333333
tail
コマンド
tail
コマンドは、ファイルやコマンドの出力の末尾からデフォルトで10行を出力します。
書式
tail [オプション] [ファイル名]
オプション
オプション | 説明 |
---|---|
-c | 出力する文字数を指定する |
-f | 追記があるまで待機する |
-n | nに指定した行数を出力する |
使用例
# test_fileの末尾から10行を表示します。
tail test_file
333333
444444
555555
666666
777777
888888
999999
101010
111111
121212
more
コマンド
more
コマンドは、長い出力結果を画面1ページ分ずつ表示するためのプログラム、つまり ページャ です。
more
や後でご紹介する less
など、表示内容を1ページずつに制御するプログラム全般をページャと呼びます。
書式
more [オプション] [ファイル名]
オプション
オプション | 説明 |
---|---|
-d | 画面下にページのナビゲーションを表示する |
-f | 画面下にデータの行数を表示する |
-n | nに表示する行数を指定する |
-s | 連続する空行を1つにまとめる |
使用例
# bunch.txtの内容を1ページ分ずつ表示します。
more bunch.txt
# 出力結果は膨大なので省略します。
less
コマンド
less
コマンドも、長い出力結果を画面1ページ分ずつ表示するためのプログラム、つまり ページャ です。
less
は more
とは異なり、最終行まで進んでも q
キーを押さない限りシェルプロンプトに戻らないという特性があります。また、表示閲覧中にブックマーク(:set mark)を設定できる機能も提供します。
書式
less [オプション] [ファイル名]
オプション
オプション | 説明 |
---|---|
-N | 行番号を表示する |
-M | 現在表示しているページの位置情報を表示する |
使用例
# bunch.txtの内容を1ページ分ずつ表示します。
less bunch.txt
# 出力結果は膨大なので省略します。
まとめ
今回はテキストファイルを扱う際に便利なコマンド(テキストストリーム)、 head
、 tail
、 more
、 less
について解説しました。他にも多くのテキストストリームに関する記事やシナリオがありますので、ぜひご覧ください。
記事の内容は理解できましたか?