Søk uten katalogsti
Den mest enkle og enkleste måten for rekursivt søk er å bruke et enkelt “-r” -flagg i GREP-kommandoen og et matchende mønster uten noen nevnt bane. Vi har brukt GREP -kommandoen for å søke etter et mønster “John” i filene. "-R" -flagget vil søke i alle filene som ligger i hjemmet eller gjeldende katalog til Ubuntu 20.04 og i undermappene i hjemmekatalogen også. Du kan se at den viser filstiene som også har den aktuelle kampen og viser den matchede teksten i den filen. De to første filene er lokalisert i underkatalogen for Documents, mens de to andre er lokalisert i hjemmekatalogen. Dette betyr at den også har søkt fra alle undermapper i den gjeldende katalogen.
$ grep -r “John”La oss rekursivt søke etter et annet ord, "hjerte" ved å bruke GREP-instruksjonen med "-r" -flagget. Kommandoutgangen viser at den er funnet i de to filene. Den ene filen ligger i hjemmekatalogen mens den andre er i underkatalogen til Home, i.e., Dokumenter. Begge filene inneholder samme navn.
$ grep -r “hjerte”La oss se på en annen samme forekomst med et annet matchende mønster i GREP -kommandoen. Så vi har brukt mønsteret “CSS” for å bli søkt fra systemet rekursivt.
$ grep -r “CSS”En annen måte er å bruke "*" "-tegnet til å søke over mappene og undermappene. Så vi har søkt på den enkle karakteren “A” og funnet det i hver tekstfil i hjemmekatalogen og dens undermapper.
$ grep -r “a” *La oss få et rekursivt søk ved hjelp av GREP -kommandoen, men på en annen måte. Vi vil søke i et mønster mens teksten i filene ikke vises i terminalen ved å bruke "-l" -flagget i instruksjonen. Bare filnavnet eller banen vil bli gitt i utgangen som viser at det gitte mønsteret er funnet. Så vi har prøvd den samme spørringen med tillegg av “-L” -flagget for å søke etter mønsteret “CSS”. Den viser de relaterte filene og deres baner i utgangen.
$ grep -r -l “CSS”Søk med katalogsti
Nå vil vi se arbeidet med GREP rekursive kommando på katalogstien gitt. Så vi vil ha søkt etter tre forskjellige mønstre i underkatalogen "Nedlastinger" i Home -mappen. Stien til nedlastingsmappene er oppgitt på bildet i GREP -kommandoen. Vi har ingenting i retur, da mønsteret ikke har matchet eller blitt funnet.
$ grep -r CDD/Home/Linux/nedlastingerLa oss søke etter et annet mønster "er" i nedlastingsmappen ved å bruke den samme instruksjonen. Vi har funnet to utganger for dette mønsteret. Utgangen viser filstiene sammen med teksten. Det fremhevet også mønsteret matchet, jeg.e., "er".
$ grep -r er/hjemme/linux/nedlastingerVi har søkt på et annet mønster, "OK" i nedlastingsmappen og fikk bare en utdata til gjengjeld, da det bare samsvarer med en enkelt fil.
$ grep -r ok/home/linux/nedlastingerDet samme mønsteret “OK” er blitt søkt fra den forskjellige underkatalogen denne gangen, jeg.e., Dokumenter. GREP -kommandoen returnerte ingenting da mappen ikke inneholder noen fil med et bestemt mønster "OK" i den.
$ grep -r er/hjemme/linux/dokumenterDu kan også søke rekursivt etter strengverdien. Så vi har gitt IP -adressen som en streng og nevnt banen. Denne kommandoen vil søke i alle filene og mappene i "etc" -katalogen for å søke i strengmønsteret. Utgangen viser et enkelt resultat.
$ grep -r “192.168.10.1 ” /etc /Søk i flere mønstre
Vi hadde sett på eksemplene for å søke etter det eneste mønsteret ved hjelp av GREP rekursiv instruksjon. Nå vil vi se måten å søke på flere mønstre også rekursivt. Så vi har brukt GREP-kommandoen sammen med "-RW" -flagget. Det indikerer at flere søkene har skjedd. Etter dette flagget kan du også nevne banen. Vi har brukt den uten vei til å søke i hjemmekatalogen og undermappene. "-E" -flagget har blitt brukt her for å indikere enkeltmønsteret. Du kan bruke mange "-e" -flagg i henhold til antall mønstre du vil søke. Vi har bare søkt på to mønstre her med "-e". Vi har funnet de 4 filene i utdataene matchet. Tre filer inneholder mønsteret “CSS”, og 1 inneholder mønsteret “OK” innenfor.
$ grep -rw -e ok -e cssDu kan også bruke GREP -kommandoen til å søke i flere mønstre i den spesifikke filen. For dette må du fjerne “-RW” -flagget fra spørringen og legge til “-e” -flagg så mye du vil. Men du må nevne filnavnet på slutten, som demonstrert nedenfor. Den viser all teksten fra filen og fremhever det samsvarende mønsteret.
$ grep -e “flott” -e “css” -e “er” -e “hjerte” nytt.tekstSøk med "Inkluder" flagg
Inkluderings -nøkkelordet har blitt brukt til å spesifisere filtypene som kun blir søkt på. Ingen andre filer vil bli søkt. Så i det første tilfellet kunne vi ikke få noe.
$ grep -r -include = ”*txt” “OK”/Home/Linux/Innenfor vår andre sak har vi funnet en enkelt utgang.
Et annet mønster, “CSS” har blitt brukt til rekursiv søk og fått tre resultater, som demonstrert på bildet.
$ grep -r -include = ”*txt” “CSS”/Home/Linux/Konklusjon
Det rekursive søket er påvist i denne guiden ved hjelp av GREP -kommandoen. Kommandoen “grep” har brukt mange flagg for å jobbe annerledes mens du gjør et rekursivt søk, i.e., “-R” og “Inkluder”. Opplæringen forklarer også det rekursive søket med og uten katalogstiene gitt i GREP -kommandoen. Dermed inneholder denne artikkelen et knippe lett å gjøre eksempler for brukerne å lære rekursivt søk lettest.