GNU/Linux >> Linux Esercitazione >  >> Linux

Come stampare l'ultima riga di un file compresso gz nella riga di comando?

Se vuoi le righe dalla fine di un file piuttosto che dalla fine del file, usa tail invece di 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:ho sviluppato uno strumento a riga di comando che può creare una coda (-t ) o anche una coda continua di un file gzip (-T ) man mano che cresce. (Molte altre opzioni disponibili):https://github.com/circulosmeos/gztool

Quindi per il tuo caso:$ gztool -t myfile.gz | tail -1

Nota che per ognuna di queste azioni gztool creerà un piccolo file di indice (<1%/gzip) intercalato con quell'azione. Il vantaggio di ciò è che tutte le successive "code" o estrazioni su quel file non consumeranno quasi tempo/cpu poiché il file non viene nuovamente decompresso completamente!


Linux
  1. Come utilizzare il comando Tar in Linux

  2. Come usare il comando tail in Ubuntu Linux

  3. Come accedere all'ultimo argomento di un comando commentato?

  4. Stampa l'ultima riga di un file, dalla CLI

  5. Come cancellare il contenuto di un file dalla riga di comando?

Come utilizzare il comando head di Linux

Come usare il comando diff di Linux

Come scaricare un file su Ubuntu usando la riga di comando

Come scaricare un file su Ubuntu Linux usando la riga di comando

Visualizza il contenuto di un file nella riga di comando di Linux

Come estrarre il file Tar.xz sulla riga di comando di Linux