ファイルを末尾から表示したい

ファイルを末尾から逆順に表示したい。

例えば以下のようなテキストファイルがある。

aaa
bbb
ccc
ddd
eee

test.txtを末尾から逆順に表示したい。

eee
ddd
ccc
bbb
aaa

tac コマンド

tacコマンドはファイルを末尾から逆順に表示するコマンドである。

$ tac test.txt
eee
ddd
ccc
bbb
aaa

tacコマンドにファイル名を指定すると、ファイルの内容が末尾から表示される。

taccatを逆から綴った名前であり、catコマンドと逆の動作をする。

コマンドの結果を逆順にする

コマンドの結果を逆順にする場合は、パイプでtacコマンドに渡す。

$ seq 5
1
2
3
4
5

$ seq 5 | tac
5
4
3
2
1

seqコマンドで1から5までの数字を出力し、tacコマンドで逆順にしている。

実用例: ログファイルを新しい順に表示

ログファイルを新しい順に表示する場合はtacコマンドが便利である。

$ tac /var/log/syslog | head -10

ログファイルは通常、古い順に記録される。そのため、最新のログは末尾にある。tacコマンドで逆順にしてからheadコマンドで先頭10行を表示すると、最新10行を取得できる。