Come usare Grep in modo ricorsivo?

Come usare Grep in modo ricorsivo?

Il comando grep viene utilizzato per cercare il testo dai file. È un modello versatile che invoca grep con -r. -R File di ricerca delle opzioni in modo ricorsivo dalle sottodirectory, a partire dalla directory corrente. Il comando è eseguito dalla directory di livello superiore. Ad esempio /casa /ABC ecc. Grep è uno strumento per ottenere dipendenze mentre si sposta da un host a un altro. Se non menzioniamo una directory nel comando, Grep cercherà la directory di lavoro corrente. Per eseguire Grep in modo ricorsivo, ci sono tre argomenti che abbiamo preso dalla pagina Man di Grep.

$ Man grep

-include viene utilizzato per una corrispondenza esatta nel file che potrebbero essere file presenti nella directory o per impostazione predefinita. -r implica il nome della directory, come descritto in precedenza, se non viene definito alcun percorso nel comando, viene considerata la directory corrente. Segue solo un legame simbolico. -R è abbastanza diverso da -r perché legge tutti i file, non solo quelli simbolicamente definiti.

Sintassi

Grep -r "pattern" /percorso /

"Path" è un "percorso di directory". E il modello è una parola o una stringa che si desidera cercare.

Prerequisito

Per comprendere la funzione ricorsiva GREP, è necessario disporre di un sistema operativo Linux. Dopo l'installazione, configurerai Linux fornendo un nome utente e una password. Dopo averlo fatto, otterrai privilegi per accedere a tutte le applicazioni in quel sistema operativo.

Tutti i file in Linux

Questo comando ti aiuterà a cercare tutti i nomi dei file nelle directory del sistema. Poiché -l funziona per fornire solo i nomi dei file, -r aiuterà a cercare simbolicamente ovunque sia presente la parola richiesta, arriverà come output. Mentre "aqsa" è la parola che vogliamo cercare. Questo comando è senza alcun percorso verso la directory perché qui vogliamo tutti i possibili nomi di file nel sistema. Se abbiamo fornito un percorso, il processo di ricerca avrà limitazioni.

$ grep -r -l "aqsa"

Semplice esempio

Per comprendere il dilemma della ricorsività con l'aiuto del percorso, abbiamo introdotto un semplice esempio per guidare l'utente. Come mostrato nel comando seguente, "versatile" è una parola che vogliamo cercare. Seguendo la parola, c'è una directory in cui desideriamo ordinare. Mostra sia il nome file con la directory che l'intero testo all'interno del file. -R mostra anche i file binari.

$ grep -r versatile /home /aqsayasin

Cerca ricorsivamente in tutte le directory e sottodirectory

Poiché tutti abbiamo familiarità con la funzionalità di "*" nel sistema di ricerca. Implica l'ordinamento in tutti i file. Quindi, il comando visualizzerà i rispettivi dati da tutti i file. La parola "house" deve essere cercata in modo ricorsivo usando l'istruzione GREP.

$ grep -r "casa" *

Mostra i nomi di file e il testo all'interno evidenziando la parola cercata, indicando che esiste una corrispondenza. Solo un singolo file di testo conteneva quella parola, che è mostrata nella linea risultante.

Grep ricorsivamente per una stringa

A differenza degli esempi di cui sopra, Grep funziona su una stringa nella directory specifica. / etc/ è la directory dei comandi che significa che la ricerca sarà tramite questa directory, l'indirizzo IP di un computer. Le sue informazioni sono salvate nella directory, con nomi di file presenti in directory/etc/ppp/. L'opzione è il nome di una particolare cartella. Questo comando leggerà tutti i file nella directory data.

$ grep -r “192.168.1.5 " /etc /

I nomi del file nell'output possono essere soppressi con l'aiuto dell'opzione H. Il comando è il seguente.

$ grep -h -r "192.168.1.5 " /etc /

Entrambi i separatori possono essere scritti come -h -r in un comando.

Cerca ricorsivamente senza una directory

La ricerca ricorsiva può anche essere eseguita senza usare una directory semplicemente cercando una parola con una sola parola.

$ grep -r moglie

La parola "moglie" viene cercata automaticamente in tutte le directory perché quando non è menzionata la directory, il processo di ricerca procederà in tutti i file e le directory del sistema. Includerà anche file binari insieme ai file di testo. Indirizzo del file e i nomi dei file sono inizialmente mostrati. Mentre il testo all'interno del file viene visualizzato. Non solo il testo semplice ma anche il comando Grep applicato sul testo del file viene visualizzato, i.e., grep "Sono una moglie di casa".

Grep esatto multipli

La ricerca di più metodi è anche una funzione ottenuta tramite il comando GREP. "-RW" viene utilizzato per esplorare la partita particolare. "-E" viene utilizzato per aggiungere più di un modello nel comando. Viene menzionato il percorso della directory per renderlo conveniente per il sistema da cercare. I file binari sono esclusi perché il limite viene introdotto nell'aggiunta di una directory nel comando. L'output contiene il nome della directory del file e il nome del file. Inoltre, viene visualizzato il testo all'interno del file.

$ grep -rw '/home/aqsayasin/'

Le parole cercate sono evidenziate nel testo del file. Entrambi i termini cercati devono essere presenti in un singolo file. Esiste una probabilità dell'esistenza di parole in file diversi, come mostrato nell'output.

Grep ricorsivamente usando - -include

"-Include" corrisponde al modello di file dato e funziona in modo efficace in quanto accelera anche il processo di ricerca, che funziona alla maggior parte dei file. Qui, non porta i file binari o compilati o l'immagine. L'estensione del file viene utilizzata per aggiungere limitazioni al comando. Viene menzionato la directory per portare l'output richiesto. La parola chiave inclusa è piuttosto avanzata in GREP rispetto ad altre funzionalità.

$ grep -r --include = "*txt" "sorella" /home /aqsayasin

Conclusione

In questo articolo, abbiamo spiegato ogni esempio per dimostrare l'uso della funzione ricorsiva Grep. Una funzione ricorsiva viene utilizzata per cercare limitazioni e precisamente in tutte le directory nel sistema. Se una directory non è presente, la directory corrente viene considerata per impostazione predefinita.