GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie drucke ich die letzte Zeile einer gz-komprimierten Datei in der Befehlszeile?

Wenn Sie Zeilen vom Ende einer Datei und nicht vom Kopfende wollen, verwenden Sie tail statt 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:Ich habe ein Befehlszeilentool entwickelt, das einen Schwanz (-t ) oder sogar ein fortlaufendes Ende einer gzip-Datei (-T ) wie es wächst. (Viele andere Optionen verfügbar):https://github.com/circulosmeos/gztool

Also für Ihren Fall:$ gztool -t myfile.gz | tail -1

Beachten Sie, dass für jede dieser Aktionen gztool erstellt eine kleine (<1%/gzip) Indexdatei, die mit dieser Aktion verschachtelt ist. Der Vorteil davon ist, dass alle nächsten "Schwänze" oder Extraktionen dieser Datei fast keine Zeit/CPU verbrauchen, da die Datei nicht erneut vollständig dekomprimiert wird!


Linux
  1. So verwenden Sie den tail-Befehl in Ubuntu Linux

  2. Drucken Sie die letzte Zeile einer Datei über die CLI

  3. Wie hängt man die Ausgabe an eine Datei an?

  4. Wie liest man die letzte Zeile einer Textdatei mit Bash in eine Variable?

  5. Wie lösche ich den Inhalt einer Datei über die Befehlszeile?

So verwenden Sie den Linux-Kopfbefehl

So verwenden Sie den Linux-diff-Befehl

So laden Sie eine Datei auf Ubuntu über die Befehlszeile herunter

So laden Sie eine Datei unter Ubuntu Linux über die Befehlszeile herunter

Zeigen Sie den Inhalt einer Datei in der Linux-Befehlszeile an

So extrahieren Sie die Tar.xz-Datei in der Linux-Befehlszeile