Come usare grep per cercare un file in Reverse

September 23

Grep è una potente utility a riga di comando Unix / Linux per la ricerca di file di grandi dimensioni, come ad esempio i file di log di computer, per individuare le linee che contengono le informazioni desiderate. Ad esempio, in un file di registro lunga computer, l'utente può solo interessare righe che contengono la parola "ERROR". Avrebbe digitare quanto segue nel terminale Unix:

grep logfile.log "ERROR"

Tuttavia, spesso le informazioni più importanti in un file si trova alla fine del file, piuttosto l'inizio. Sarebbe utile se ci fosse una bandiera comando per indicare grep per cercare il file in senso inverso, ma purtroppo non è un'opzione. Invece, dobbiamo invertire il file utilizzando un'altra applicazione e "pipe" i dati al programma grep. Si tratta di una operazione comune in scripting Unix e Linux: concatenamento semplici utility insieme per produrre risultati complessi.

istruzione

1 Aprire il terminale. Come si esegue questa operazione dipende dalla versione del sistema operativo.

2 Digitare il seguente comando:

tac logfile.log

È necessario sostituire il nome del file "file di log" con il file che si desidera utilizzare. Tac è un comando Unix che inverte l'ordine delle righe all'interno del file e stampa i risultati alla console. Premi Invio per vedere i risultati.

3 Ripetere l'ultimo comando e aggiungere il comando "pipe" ad esso, seguito dal comando grep che si desidera eseguire. Per esempio:

tac logfile.log | grep "ERRORE"

Questo primo invertire l'ordine riga del file "logfile.log." Quindi, piuttosto che la stampa che sullo schermo, sarà pipe a grep, che la ricerca di linee contenenti la parola "ERROR".

Consigli e avvertenze

  • Il simbolo tubo non è un uno (1) o un minuscola L (l). Invece è la barra verticale (|), che può essere inserita premendo il tasto "\" con il tasto SHIFT premuto (su una tastiera standard degli Stati Uniti).