headコマンドおよびtailコマンドで、ファイルの先頭・末尾を表示する方法を説明します。
説明で使用するサンプルファイルは目次>使用サンプルファイルを参照してください。
ファイルの先頭を表示(head)
ファイルの先頭を表示する際は、headコマンドを利用します。
headコマンドの構文
# ファイルの先頭を表示する(10行)
head [ファイル名]
# ファイルの先頭を3行表示する
head -n 3 [ファイル名]
# ファイルの先頭から12文字表示する
head -c 12 [ファイル名]
headコマンド実行例
ファイルの先頭から10行を表示します。
head test1.txt
オプションを指定しなければ、デフォルトで10行出力されます。
aaa
bbb
ccc
ddd
eee
fff
ggg
hhh
iii
jjj
ファイルの先頭から3行を表示します。
head -n 3 test1.txt
-n
オプション指定で3行が出力されます。
aaa
bbb
ccc
複数ファイルの先頭から3行ずつを表示します。
head -n 3 test1.txt test2.txt
複数ファイルの場合は、ファイル名を含んで出力します。
==> test1.txt <==
aaa
bbb
ccc
==> test2.txt <==
nnn
mmm
lll
複数ファイルの先頭から3行ずつを表示します。(ファイル名を含まない)
head -n 3 -q test1.txt test2.txt
-q
オプションでファイル名が非表示になります。
aaa
bbb
ccc
nnn
mmm
lll
ファイルの先頭から12文字(改行含む)+ファイル名を表示する。
head -c 12 -v test1.txt
1ファイル指定でもファイル名を明示的に表示する場合は、-v
オプションを指定します。
==> test1.txt <==
aaa
bbb
ccc
ファイルの末尾を表示(tail)
ファイルの末尾を表示する際は、tailコマンドを利用します。
(オプションの使用方法はheadコマンドと同様です。)
tailコマンドの構文
# ファイルの末尾を表示する(10行)
tail [ファイル名]
# ファイルの末尾を3行表示する
tail -n 3 [ファイル名]
# ファイルの末尾から12文字表示する
tail -c 12 [ファイル名]
tailコマンド実行例
ファイルの末尾から10行を表示します。
tail test1.txt
オプションを指定しなければ、デフォルトで10行出力されます。
eee
fff
ggg
hhh
iii
jjj
kkk
lll
mmm
nnn
ファイルの末尾から3行を表示します。
tail -n 3 test1.txt
-n
オプション指定で3行出力されます。
lll
mmm
nnn
複数ファイルの末尾から3行ずつを表示します。
tail -n 3 test1.txt test2.txt
複数ファイルの場合、ファイル名を含んで出力します。
==> test1.txt <==
lll
mmm
nnn
==> test2.txt <==
ccc
bbb
aaa
複数ファイルの末尾から3行ずつを表示します。(ファイル名を含まない)
tail -n 3 -q test1.txt test2.txt
-q
オプションでファイル名が非表示になります。
lll
mmm
nnn
ccc
bbb
aaa
ファイルの末尾から12文字(改行含む)+ファイル名を表示します。
tail -c 12 -v test1.txt
1ファイル指定でもファイル名を明示的に表示する場合は、-v
オプションを指定します。
==> test1.txt <==
lll
mmm
nnn
オプション
各オプショの意味は以下の通りです。
オプション | 意味 |
---|---|
-c | 出力する文字数を指定 |
-n | 出力する行数を指定 |
-q | ファイル名を非表示 |
-v | ファイル名を常に表示 |
使用サンプルファイル
以下サンプルファイルを使用して説明しました。
$ cat test1.txt
aaa
bbb
ccc
ddd
eee
fff
ggg
hhh
iii
jjj
kkk
lll
mmm
nnn
$ cat test2.txt
nnn
mmm
lll
kkk
jjj
iii
hhh
ggg
fff
eee
ddd
ccc
bbb
aaa
以上で本記事の解説を終わります。
よいITライフを!