Mac OSX で tac コマンドがない…。


クリスマスケーキ


※ 写真と本文は関係ありません。


$ tail -r /var/log/system.log

が、tac 相当のコマンドらしい。
ターミナルで man すると

-r

The -r option causes the input to be displayed in reverse order, by line. Additionally, this option changes the meaning of the -b, -c and -n options. When the -r option is specified, these options specify the number of bytes, lines or 512-byte blocks to display, instead of the bytes, lines or blocks from the beginning or end of the input from which to begin the display. The default for the -r option is to display all of the input.


このコマンドは BSD 版 tail ってことだよなぁ。大きなファイルを扱えないそうなので GNU 版 tac をインストールしたほうが良いのかしら?

tail では出力の大きさの指定に制限が無い (GNU 版以外の tail にはそうでないものもある)。 また -r オプション (逆順表示) は無い。 ファイルを逆順に表示するのは、 ファイルの末尾を表示するのとは本質的に異なるからである。 BSD 版 tail (-r オプションを持っている) はバッファ (通常 32k) よりも小さいファイルを逆順表示できるに過ぎない。 この目的には GNU 版の tac コマンドを用いる方が、信頼性も融通性も高い。

tac コマンド port にはなかったです。

2.5MB のファイルで使えてるからそのまま使っておこう。


iBook:~ fuki$ ls -lh /var/log/system.log
-rw-r-----  1 root  admin   2.5M  8 18 16:08 /var/log/system.log
iBook:~ fuki$ tail -r $_
Aug 18 16:08:59 iBook NatsuLion[226]: -[TwitterImpl setFriendsTimelineLastStatusId:]: 3378518489
…