Come posso escludere le directory da grep -r?

Come posso escludere le directory da grep -r?
Grep è davvero un'utilità di shell del terminale Linux / Unix che cerca un documento una sequenza di caratteri. Un'espressione regolare sembra essere il termine per la ricerca del modello testuale. Supera la riga con il risultato quando rileva la stessa corrispondenza. Durante la navigazione su enormi file di registro, la query Grep è disponibile. Quindi, Grep -r è stato usato per escludere le directory durante l'utilizzo di alcune parole chiave. Discutiamo di grep -r in questo tutorial passo dopo passo.

Prerequisiti:

Chiarire di avere qualsiasi distribuzione di Linux installata e configurata. Stiamo usando Ubuntu 20.04 Sistema Linux per implementare questo argomento. D'altra parte, devi anche avere i diritti degli utenti root. Apri il tuo terminale di comando per iniziare a funzionare.

Esempio 01:

Quando apri il terminale di comando, sei attualmente all'Ubuntu 20.04 Home Directory del sistema Linux. Passiamo a una directory di documenti. Per questo, è necessario utilizzare il comando "CD" di seguito nella shell del comando per farlo, insieme a un percorso di directory.

$ cd ~/documenti

Ora sei nella directory dei documenti del tuo sistema Linux. Crea tre nuovi file nella directory dei documenti. Per creare nuovi file di tipo text, prova il comando touch di seguito nella shell, seguito dal nome di un nuovo file. Puoi vedere che abbiamo creato tre file denominati "uno.txt "," Nuovo.txt "e" test.TXT."

$ TOUCT UNE.TXT
$ TOUCT NUOVO.TXT
$ touch test.TXT

Devi aggiungere alcuni dati di testo o informazioni in ciascun file separatamente, come puoi vedere nelle immagini seguenti. Ora salva tutti i file e chiudi.

Ora torna al terminale ed elenca tutti i file e le cartelle elencati nella directory dei documenti. Eseguire il semplice comando "LS" per farlo come di seguito. Avrai un output di tutti i file e le cartelle mentiti nella directory dei documenti. Puoi vedere che ci sono anche file di testo appena creati e aggiornati.

$ ls

Ora tocca a noi provare un comando Grep -r nella directory dei documenti e i suoi file o cartelle. Useremo il comando grep -r per escludere le directory durante l'utilizzo di una parola chiave o una parola univoca. Avremo un comando che cercherà quella particolare parola da tutti i file che risiedono nella cartella dei documenti tranne una directory, che è stata data per escludere nel comando. Quindi, escluderemo la directory "wao" attualmente presente nella directory dei documenti. Quindi, prova il comando GREP seguente per escludere la directory "wao" insieme al flag -r, che è stato utilizzato per la funzione ricorsiva, e "AQSA" è stato utilizzato come una parola chiave per essere cercata nei file. L'output nell'istantanea seguente mostra il testo da due file, "Test.txt "e" nuovo.txt ", avere il testo" aqsa "nei loro dati e la directory" wao "non è stata verificata a causa dell'esclusione nel comando. Tuttavia, la directory "wao" ha anche alcuni file di testo che si evitano di essere controllati.

$ grep -esclude -dir "wao" -r "aqsa"

Diamo un'occhiata a entrambi i file. Prova il comando cat per vedere il file "nuovo.txt "contiene la parola chiave" aqsa."

$ cat nuovo.TXT

L'altro file, "Test.txt ", contenente la parola chiave" aqsa ", è stato visualizzato usando il comando cat di seguito.

$ cat test.TXT

Ora escludiamo la stessa directory "wao" dalla cartella dei documenti usando un'altra parola chiave, "coraggiosa", se si trova in qualsiasi file. Quindi, prova il comando Grep sotto per escludere la directory come di seguito. L'immagine di output mostra i due output corrispondenti per la parola chiave "coraggiosa" in due file, "Test.txt "e" uno.TXT."

$ grep -esclude -dir “documenti/wao” -r “coraggioso."

Puoi vedere il file "uno.txt "contiene la parola chiave" coraggiosa "usando il comando cat.

$ gatto uno.TXT

L'output di seguito mostra il file "Test.txt ", che contiene la parola chiave" coraggiosa "con l'utilizzo delle istruzioni del gatto.

$ cat test.TXT

Esempio 02:

Saltiamo alla sotto-directory "wao" della cartella dei documenti usando il comando "cd" nella shell.

$ cd ~/documenti/wao

Creiamo tre nuovi file, "Bin.txt ", aveva avuto.txt "e" sec.txt "nella directory" wao "mentre si utilizza il comando touch elencato di seguito. Aggiungi alcuni dati di testo in tutti i file, salva e quindi chiudili.

$ touch bin.TXT
$ touch aveva.TXT
$ touch sec.TXT

Elenchiamo tutte le directory usando il comando "LS" come di seguito. Troverai tutti e tre i file appena creati.

$ ls -a

Proviamo la stessa istruzione GREP nel tuo terminale di comando per escludere la directory "wao" mentre usi un'altra parola chiave "io" come corrispondenza come di seguito.

$ grep -esclude -dir "documenti/wao/" -r "i"

Ora l'output per questo comando mostra la parola chiave "i" nei file contenuti nei documenti della cartella mentre la directory "wao" è stata ignorata usando la parola chiave "esclude".

Ora escludiamo la stessa directory "wao" usando un'altra parola chiave, "Rimsha", dal comando Grep mostrato di seguito nel terminale. Lo snap di output non mostra alcun output perché la parola chiave "Rimsha" non è stata trovata in nessuno dei file situati nella cartella dei documenti.

$ grep -exclude -dir "documenti/wao" -r "rimsha"

Esempio 03:

Passiamo prima alla cartella dei documenti usando il comando "CD" come sotto.

$ cd ~/documenti

Elenchiamo tutti i file e le cartelle dei documenti della directory utilizzando il comando "LS" seguente. L'output mostra un po 'di testo e altri file insieme a una sotto-directory, “Wao."

$ ls

Usiamo lo stesso comando Grep per escludere la directory "wao" da questa cartella usando la parola chiave "aqsa" in un flag. L'output mostra i quattro file di testo che hanno la parola "aqsa" nel loro testo mentre la directory "wao" è stata evitata e non controllata.

$ grep -esclude -dir "wao" -r "aqsa"

Conclusione:

Usando Ubuntu 20.04, capiamo già come e quando usare il comando grep -r. Il comando grep è estremamente versatile e aiuta a individuare il testo incorporato in centinaia di documenti.