GNU/Linux >> Linux Esercitazione >  >> Linux

Come leggere la penultima riga in un file usando Bash?

Una breve one-liner ispirata a https://stackoverflow.com/a/7671772/5287901

sed -n 'x;$p'

Spiegazione:

  • -n modalità silenziosa:non stampa automaticamente lo spazio del pattern
  • x :scambia il pattern space e lo hold space (hold space ora memorizza la riga corrente e pattern space la riga precedente, se presente)
  • $ :nell'ultima riga, p :stampa lo spazio del motivo (la riga precedente, che in questo caso è la penultima riga).

Prova questo:

tail -2 yourfile | head -1

Linux
  1. In che modo il comando Sed '1!g;h;$!d' inverte il contenuto di un file?

  2. Come faccio a conoscere il nome del file di script in uno script Bash?

  3. In Bash, come aggiungo una stringa dopo ogni riga in un file?

  4. Come scrivere un numero intero in un file binario usando Bash?

  5. Come ottengo la directory assoluta di un file in bash?

Come leggere i file riga per riga in Bash

Come creare un file in Linux utilizzando Terminale/riga di comando

Come estendere lo spazio di scambio utilizzando il file di scambio in Linux

Come leggere un file riga per riga in Bash

Come scaricare un file su Ubuntu usando la riga di comando

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