GNU/Linux >> Tutoriels Linux >  >> Linux

Comment imprimer la dernière ligne d'un fichier compressé gz dans la ligne de commande ?

Si vous voulez des lignes de la fin d'un fichier plutôt que de la tête, utilisez tail au lieu de 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 :J'ai développé un outil en ligne de commande qui peut faire une queue (-t ) ou même une queue continue d'un fichier gzip (-T ) au fur et à mesure de sa croissance. (Beaucoup d'autres options disponibles) :https://github.com/circulosmeos/gztool

Donc pour votre cas :$ gztool -t myfile.gz | tail -1

Notez que pour chacune de ces actions gztool créera un petit fichier d'index (<1%/gzip) entrelacé avec cette action. L'avantage est que toutes les "queues" ou extractions suivantes sur ce fichier ne consommeront presque pas de temps/cpu car le fichier n'est pas entièrement décompressé !


Linux
  1. Comment utiliser la commande Tar sous Linux

  2. Comment passer le contenu d'un fichier en tant que paramètre de ligne de commande ?

  3. Comment accéder au dernier argument d'une commande commentée ?

  4. Imprimer la dernière ligne d'un fichier, à partir de la CLI

  5. Comment lire la dernière ligne d'un fichier texte dans une variable à l'aide de Bash ?

Comment utiliser la commande Linux head

Comment utiliser la commande Linux diff

Comment télécharger un fichier sur Ubuntu à l'aide de la ligne de commande

Comment télécharger un fichier sur Ubuntu Linux à l'aide de la ligne de commande

Afficher le contenu d'un fichier dans la ligne de commande Linux

Comment extraire le fichier Tar.xz sur la ligne de commande Linux