Immagina di avere un file di testo di grandi dimensioni e di cercare un'informazione specifica o di voler trovare ogni occorrenza di qualcosa. Per me, questo è un evento quotidiano, poiché guardo i registri di sistema quando cerco di risolvere i problemi. Questo ci porta al comando grep.
grep, che viene utilizzato per cercare una stringa o un pattern nell'input, inizia sempre la ricerca dall'inizio del file. Ma se volessimo iniziare la ricerca dal retro cioè dall'ultima riga, allora possiamo usare grep in combinazione con tac.
tac mostra il contenuto di un file dall'ultima riga alla prima riga, se questo viene inviato tramite pipe a grep sarà in grado di cercare al contrario. Ad esempio, se abbiamo un file con il nome file_test.
# cat test_file Linux was created in 1991 It is a very robust and flexible OS. It follows POSIX standards There a huge number of distros in linux.
Se vogliamo cercare la stringa distribuzioni che alla fine possiamo usare:
tac test_file | grep distros
grep reverse:come invertire il significato di una ricerca `grep`
invertire il grep significa semplicemente escludere le righe che contengono un termine di ricerca. Per fare ciò, usa l'opzione "-v" con il comando grep. Ad esempio:
$ grep -v "exclude text" filename
Per ottenere maggiori informazioni sulle opzioni dei comandi di grep, dai un'occhiata alla pagina man di grep.
$ man grep