GNU/Linux >> Linux Esercitazione >  >> Linux

Usando grep per cercare al contrario

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


Linux
  1. Trovare l'ultimo elemento di una riga usando Grep?

  2. Come cercare un database usando phpMyAdmin

  3. Utilizzo del comando ripgrep (rg) in Linux

  4. Come includere la libreria C necessaria usando gcc?

  5. Usare un indice per rendere grep più veloce?

Come usare il comando grep in Linux/UNIX

Come escludere in Grep

Come eseguire la ricerca del modello nei file utilizzando Grep

Come cercare su Google dalla riga di comando utilizzando Googler

Trova testo nei file su Linux usando grep

Come cercare LDAP usando ldapsearch (con esempi)