GNU/Linux >> Linux の 問題 >  >> Linux

コマンドラインで gz 圧縮ファイルの最後の行を出力するには?

ファイルの先頭ではなく末尾からの行が必要な場合は、 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 あたりの時間がほとんど消費されないことです!


Linux
  1. UbuntuLinuxでtailコマンドを使用する方法

  2. ファイルの内容をコマンドラインパラメータとして渡す方法は?

  3. コマンドSed‘1!g; h; $!d’は、ファイルの内容をどのように逆にしますか?

  1. LinuxでTarコマンドを使用する方法

  2. コマンドラインを使用してLinuxでtar.gzファイルを抽出する方法

  3. コマンドラインから Dropbox ファイルの URL を取得するには?

  1. コメントされたコマンドの最後の引数にアクセスする方法は?

  2. CLI から、ファイルの最後の行を出力します。

  3. 出力をファイルに追加する方法は?