総称名のgz圧縮ログファイルがたくさんあり、それらが反映される期間を確認する必要があります。 zcatについて知っている|ヘッドですが、これはファイルの先頭でのみ機能します。
ファイル全体を解凍せずに最後の行を取得するにはどうすればよいですか?
ヘッドエンドではなくファイルの末尾からの行が必要な場合は、tail
の代わりにhead
を使用します。
$ zcat /var/log/syslog.2.gz | tail -1
Aug 24 07:09:02 myhost rsyslogd: [Origin software="rsyslogd" swVersion="8.4.2" x-pid="796" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
FWIW:私は尻尾を作ることができるコマンドラインツールを開発しました(-t
)またはgzipファイルの連続したテール(-T
)成長するにつれて。 (利用可能な他の多くのオプション): https://github.com/circulosmeos/gztool
だからあなたの場合:$ gztool -t myfile.gz | tail -1
これらのアクションのいずれについても、gztool
はそのアクションとインターリーブされた小さな(<1%/ gzip)インデックスファイルを作成することに注意してください。 これの利点は、ファイルが再び完全に解凍されないため、そのファイルのすべての次の「末尾」または抽出で時間/ CPUがほとんど消費されないことです!