Recupera i registri delle ultime 100 righe


Risposte:


302

Puoi usare il comando tail come segue:

tail -100 <log file>   > newLogfile

Ora saranno presenti le ultime 100 righe newLogfile

MODIFICARE:

Le versioni più recenti di tail menzionate da twalberg usano il comando:

tail -n 100 <log file>   > newLogfile

17
Nota che alcune versioni più recenti di tailrichiedono la sintassi tail -n 100 <filename>...
twalberg

14

Guarda, lo script sed che stampa le ultime 100 righe che puoi trovare nella documentazione per sed ( https://www.gnu.org/software/sed/manual/sed.html#tail ):

$ cat sed.cmd
1! {; H; g; }
1,100 !s/[^\n]*\n//
$p

$ sed -nf sed.cmd logfilename

Per me è molto più difficile della tua sceneggiatura

tail -n 100 logfilename

è molto più semplice. Ed è abbastanza efficiente, non leggerà tutti i file se non è necessario. Vedi la mia risposta con il rapporto strace per tail ./huge-file: /unix/102905/does-tail-read-the-whole-file/102910#102910


13

"tail" è il comando per visualizzare l'ultima parte di un file, usando gli opportuni switch disponibili ci aiuta ad ottenere output più specifici. lo switch più usato per me è -n e -f

SINOSSI

coda [-F | -f | -r] [-q] [-b numero | -c numero | -n numero] [file ...]

Qui

-n numero: la posizione è costituita da linee numeriche.

-f: l'opzione -f fa sì che tail non si fermi quando viene raggiunta la fine del file, ma piuttosto attende che vengano aggiunti dati aggiuntivi all'input. L'opzione -f viene ignorata se l'input standard è una pipe, ma non se è un FIFO.

Recupera i registri delle ultime 100 righe

To get last static 100 lines  
     tail -n 100 <file path>

To get real time last 100 lines
     tail -f -n 100 <file path>

3

So che questo è molto vecchio, ma, per chiunque possa aiutare.

less +F my_log_file.log

questo è solo di base, con meno puoi fare cose molto più potenti. una volta che inizi a vedere i registri puoi fare una ricerca, andare al numero di riga, cercare un modello, molto di più e inoltre è più veloce per file di grandi dimensioni.

è come vim per i log [totalmente la mia opinione]

documentazione originale di less: https://linux.die.net/man/1/less

meno cheatsheet: https://gist.github.com/glnds/8862214


1
len=`cat filename | wc -l`
len=$(( $len + 1 ))
l=$(( $len - 99 ))
sed -n "${l},${len}p" filename

la prima riga prende la lunghezza (linee totali) del file, quindi +1 nelle righe totali, dopodiché dobbiamo recuperare 100 record, quindi -99 dalla lunghezza totale quindi inserire le variabili nel comando sed per recuperare le ultime 100 righe dal file

Spero che questo ti possa aiutare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.