Come stampare solo l'ultima riga di un file?Stampa solo l'ultima riga di un file?
risposta
END{print}
dovrebbe farlo. Grazie a Ventero chi era troppo pigro per presentare questa risposta.
È necessario utilizzare awk
per questo? Perché non usare semplicemente tail -n 1 myFile
?
perché coda non veloce come awk – yael
@yael Niente affatto; 'tail -1' sarà molto più veloce di' awk' per un file di grandi dimensioni. Ho provato su un file di linea ~ 3m; coda era istantanea mentre awk prendeva .44s –
Il modulo '-1' è deprecato. Usa 'tail -n 1'. –
Utilizzare lo strumento giusto per il lavoro. Poiché si desidera ottenere l'ultima riga di un file, tail è lo strumento appropriato per il lavoro, soprattutto se si dispone di un file di grandi dimensioni. L'algoritmo di elaborazione dei file di Tail è più efficiente in questo caso.
tail -n 1 file
Se davvero si desidera utilizzare awk,
awk 'END{print}' file
EDIT: tail -1 file
deprecato
È possibile così ottenere questo usando sed
. Tuttavia, personalmente raccomando di utilizzare tail
o awk
.
In ogni modo, se si vuole fare da sed
, qui ci sono due modi:
Metodo 1:
sed '$!d' filename
Method2:
sed -n '$p' filename
Qui, il nome del file è il nome del file che contiene dati da analizzare.
Trova l'ultima riga di un file:
Usando sed (stream editor):
sed -n '$p' fileName
Utilizzare tail:
tail -1 fileName
utilizzando awk:
awk 'END { print }' fileName
Si prega di utilizzare il codice markup (\ 'codice \'). –
Oh, è molto più semplice del mio modo.Nice –