Introduzione
grep sta per "stampa di espressioni regolari globali" ed è un comando utile in Linux.
Il comando grep viene utilizzato per filtrare i file di input che corrispondono a un'espressione regolare, quindi stampare sull'output standard. Ed è anche molto importante escludere parole e schemi o dizionari e file.
Di seguito è riportata la guida su come escludere in grep mentre procediamo di seguito.
Escludi parole e schemi
Per visualizzare le righe che non corrispondono al modello di ricerca, utilizziamo -v opzione.
Ora ho un file chiamato fn.txt.che contiene i seguenti contenuti:
Ad esempio, voglio escludere la riga che contiene la parola funzione:
$ grep -v function fn.txt
Uscita:
Come puoi vedere, la riga che contiene la parola funzione viene filtrata.
se la stringa che vuoi cercare contiene spazio, devi usare parentesi o virgolette.
Ad esempio, voglio escludere la riga che contiene la stringa ab cd:
$ grep -v 'ab cd' fn.txt
Uscita:
se vuoi specificare più stringhe contemporaneamente, utilizziamo -e opzione.
Ad esempio, voglio escludere limit e abcd string:
$ grep -v -e limit -e abcd fn.txt
Uscita:
Se vuoi escludere solo le parole che compaiono all'inizio di una riga. Ad esempio, voglio escludere la funzione di parola che appare all'inizio di una riga
$ grep -v '^function' fn.txt
Uscita:
Poiché la parola funzione compare alla fine della riga, non verrà esclusa.
Escludi directory e file
Per escludere una directory che hai specificato, utilizza –exclude-dir con -R o -r opzione. -R seguirà tutti i collegamenti simbolici. Questa è anche la più grande differenza tra -r e -R opzioni.
Ad esempio, voglio escludere i file che contengono la stringa cat all'interno di /home/ubuntu directory:
$ grep -R --exclude-dir=ubuntu cat /home
Uscita:
La parte rossa viene filtrata.
Per escludere più directory contemporaneamente, metti le directory tra parentesi graffe e separale con virgole senza spazi.
Ad esempio, voglio escludere i file che contengono la stringa Linux all'interno di ubuntu e cibo directory:
$ grep -r --exclude-dir={ubtuntu,food} linux /
Uscita:
La parte rossa viene filtrata.
Conclusione
Hai già esaminato i dettagli su come escludere in grep.
Grazie per la lettura.