Hvordan kan jeg ekskludere kataloger fra grep -r?

Hvordan kan jeg ekskludere kataloger fra grep -r?
GREP er virkelig en Linux / Unix Terminal Shell -verktøy som søker i et dokument etter en sekvens av tegn. Et vanlig uttrykk ser ut til å være betegnelsen for at tekstmønsteret skal søkes. Den sender ut raden med utfallet når den oppdager samme kamp. Mens du surfer over enorme loggfiler, kommer GREP -spørringen i hånden. Så, grep -r har blitt brukt til å ekskludere kataloger mens du bruker noen nøkkelord. La oss diskutere grep -r i denne opplæringen trinn for trinn.

Forutsetninger:

Gjør det klart å ha noen distribusjon av Linux installert og konfigurert. Vi bruker Ubuntu 20.04 Linux -system for å implementere dette emnet. På den annen side må du også ha rotbrukerrettigheter. Åpne kommandotterminalen for å begynne å jobbe.

Eksempel 01:

Når du åpner kommandoterminalen, er du for øyeblikket på Ubuntu 20.04 Linux -systemets hjemmekatalog. La oss navigere til en Documents -katalog. For dette må du bruke den under-uttalte “CD” -kommandoen i kommandoskallet for å gjøre det, sammen med en katalogsti.

$ cd ~/dokumenter

Nå er du i dokumenterkatalogen til Linux -systemet ditt. La oss lage tre nye filer i Documents -katalogen. For å lage nye teksttypefiler, prøv nedenfor Touch-kommandoen i skallet, etterfulgt av en ny fils navn. Du kan se at vi har laget tre filer som heter “en.txt, ”“ Ny.txt, ”og“ Test.tekst.”

$ berør en.tekst
$ berør nytt.tekst
$ berøringstest.tekst

Du må legge til noen tekstdata eller informasjon i hver fil hver for seg, som du kan se på bildene nedenfor. Lagre nå alle filene og lukk.

Kom nå tilbake til terminalen og liste opp alle filene og mappene som er oppført i Documents -katalogen. Utfør den enkle “LS” -kommandoen for å gjøre dette som nedenfor. Du vil ha en utdata av alle filene og mappene som er løyet i Documents -katalogen. Du kan se at nyopprettede og oppdaterte tekstfiler også er der.

$ ls

Nå er det vår tur til å prøve noen grep -r -kommando på dokumenterkatalogen og dens filer eller mapper. Vi vil bruke GREP -R -kommandoen for å ekskludere katalogene mens vi bruker ett nøkkelord eller et unikt ord. Vi vil ha en kommando som vil søke på det aktuelle ordet fra alle filene som er bosatt i dokumenter -mappen, bortsett fra en katalog, som er gitt å utelukke i kommandoen. Så vi kommer til å ekskludere "WAO" -katalogen som for øyeblikket er til stede i Documents -katalogen. Så prøv under -GREP -kommandoen nedenfor for å ekskludere "WAO" -katalogen sammen med -R -flagget, som har blitt brukt til rekursiv funksjon, og "AQSA" har blitt brukt som nøkkelord som skal søkes i filene. Utgangen i øyeblikksbildet nedenfor viser teksten fra to filer, “Test.txt ”og“ Ny.txt, "å ha teksten" aqsa "i dataene sine og katalogen" wao "er ikke sjekket på grunn av ekskludering i kommandoen. Imidlertid har katalogen "WAO" også noen tekstfiler som unngås å bli sjekket.

$ grep -exclude -dir “wao” -r “aqsa”

La oss se på begge filene. Prøv CAT -kommandoen for å se filen “Ny.TXT ”inneholder nøkkelordet“ AQSA.”

$ katt ny.tekst

Den andre filen, “Test.txt, ”som inneholder nøkkelordet“ AQSA, ”har blitt vist ved hjelp av CAT -kommandoen nedenfor.

$ kattest.tekst

La oss nå ekskludere den samme katalogen "Wao" fra Documents -mappen ved å bruke et annet nøkkelord, "Brave", hvis den ligger i noen filer. Så prøv nedenfor GREP -kommandoen for å ekskludere katalogen som nedenfor. Utgangsbildet viser de to matchede utgangene for nøkkelordet “modig” i to filer, “Test.txt ”og“ en.tekst.”

$ grep -exclude -dir “Dokumenter/wao” -r “modig.”

Du kan se filen “en.TXT ”inneholder nøkkelordet“ modig ”ved hjelp av CAT -kommandoen.

$ katt en.tekst

Utgangen nedenfor viser filen “Test.txt, ”som inneholder nøkkelordet“ modig ”med kattinstruksjonsbruk.

$ kattest.tekst

Eksempel 02:

La oss hoppe til underkatalogen "Wao" i dokumenter-mappen ved å bruke “CD” -kommandoen i skallet.

$ cd ~/dokumenter/wao

La oss lage tre nye filer, “Bin.txt, ”“ hadde.txt, ”og“ Sec.txt ”i katalogen“ WAO ”mens du bruker Touch -kommandoen som er oppført nedenfor. Legg til noen tekstdata i alle filene, lagre og lukk dem deretter.

$ Touch Bin.tekst
$ berøring hadde.tekst
$ Touch Sec.tekst

La oss liste opp alle katalogene ved å bruke “LS” -kommandoen som nedenfor. Du finner alle de tre nyopprettede filene i den.

$ ls -a

La oss prøve den samme GREP -instruksjonen i kommandeterminalen din for å ekskludere katalogen “WAO” mens du bruker et annet nøkkelord “I” som en kamp som nedenfor.

$ grep -exclude -dir “Dokumenter/wao/” -r “Jeg”

Nå viser utgangen for denne kommandoen nøkkelordet “i” i filene som holdes i mappedokumentene mens katalog.

La oss nå ekskludere den samme katalogen "Wao" ved hjelp av et annet nøkkelord, "Rimsha", fra GREP -kommandoen vist nedenfor i terminalen. Utgangssnappen viser ingen utdata fordi nøkkelordet “Rimsha” ikke er funnet i noen av filene som ligger i Documents -mappen.

$ grep -exclude -dir “Dokumenter/wao” -r “rimsha”

Eksempel 03:

La oss navigere til dokumentmappen først ved å bruke “CD” -kommandoen som under.

$ cd ~/dokumenter

La oss liste opp alle katalogdokumentene 'filer og mapper ved å bruke kommandoen nedenfor. Utgangen viser litt tekst og andre filer sammen med en underkatalog, “Wao.”

$ ls

La oss bruke den samme GREP -kommandoen for å ekskludere katalogen “WAO” fra denne mappen ved å bruke nøkkelordet “AQSA” i et flagg. Utgangen viser at de fire tekstfilene har ordet “AQSA” i teksten sin mens katalogen “WAO” er unngått og ikke sjekket.

$ grep -exclude -dir “wao” -r “aqsa”

Konklusjon:

Bruker Ubuntu 20.04, vi forstår allerede hvordan og når vi skal bruke grep -r -kommandoen. GREP -kommandoen er ekstremt allsidig og hjelper til med å finne tekst innebygd i hundrevis av dokumenter.