GNU/Linux >> Znalost Linux >  >> Linux

Jak vytisknout poslední řádek komprimovaného souboru gz na příkazovém řádku?

Pokud chcete řádky z koncové části souboru a nikoli z koncové části, použijte tail místo 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:Vyvinul jsem nástroj příkazového řádku, který dokáže vytvořit ocas (-t ) nebo dokonce souvislý konec souboru gzip (-T). ) jak roste. (Mnoho dalších dostupných možností):https://github.com/circulosmeos/gztool

Takže pro váš případ:$ gztool -t myfile.gz | tail -1

Všimněte si, že pro kteroukoli z těchto akcí gztool vytvoří malý (<1%/gzip) indexový soubor proložený touto akcí. Výhodou toho je, že všechny další „ocasy“ nebo extrakce tohoto souboru nezaberou téměř žádný čas/procesor, protože soubor není znovu zcela dekomprimován!


Linux
  1. Jak příkaz Sed ‚1!g;h;$!d‘ obrátí obsah souboru?

  2. Jak načíst poslední řádek textového souboru do proměnné pomocí Bash?

  3. Jak získat adresu URL souboru Dropbox z příkazového řádku?

  1. Jak používat příkaz Tar v Linuxu

  2. Jak extrahovat soubor tar.gz v Linuxu pomocí příkazového řádku

  3. Jak používat příkaz tail v Ubuntu Linux

  1. Jak předat obsah souboru jako parametr příkazového řádku?

  2. Jak získat přístup k poslednímu argumentu komentovaného příkazu?

  3. Vytiskněte poslední řádek souboru z CLI