Grep-kommandoen brukes til å søke etter tekst fra filer. Det er et allsidig mønster som påberoper grep med -r. -R alternativsøkfiler rekursivt fra underkataloger, fra og med den nåværende katalogen. Kommandoen kjøres fra katalogen på øverste nivå. For eksempel / hjem / abc osv. Grep er et verktøy for å oppnå avhengighet mens du flytter fra en vert til en annen. Hvis vi ikke nevner en katalog i kommandoen, vil grep søke i den nåværende arbeidskatalogen. For å utføre grep rekursivt, er det tre argumenter som vi har hentet fra man-siden til grep.
$ Man grep
-inkluderer brukes for en nøyaktig samsvar i filen, som kan være filer som er tilstede i katalogen, eller som standard. -r innebærer katalognavnet, som beskrevet tidligere, hvis ingen sti er definert i kommandoen, blir den aktuelle katalogen vurdert. Den følger bare en symbolsk lenke. -R er ganske forskjellig fra -r fordi den leser alle filer, ikke bare de symbolsk definerte filene.
Syntaks
Grep -R “mønster” / sti /"Sti" er en "katalogbane". Og mønsteret er et ord eller en streng du vil søke i.
Forutsetning
For å forstå grep rekursiv funksjon, må du ha Linux-operativsystem. Etter installasjonen vil du konfigurere Linux ved å oppgi et brukernavn og passord. Når du har gjort det, får du rettigheter til å få tilgang til alle applikasjoner i det operativsystemet.
Alle filer i Linux
Denne kommandoen vil hjelpe deg med å søke i alle filnavnene i katalogene til systemet ditt. Som -l jobber med å gi bare filnavnene, -r hjelper deg med å søke symbolisk hvor det nødvendige ordet er til stede, kommer som utdata. Mens “Aqsa” er ordet vi ønsker å søke etter. Denne kommandoen er uten bane til katalogen, for her vil vi ha alle mulige filnavn i systemet. Hvis vi har gitt en sti, vil søkeprosessen ha begrensninger.
$ grep -r -l “aqsa”
Enkelt eksempel
For å forstå dilemmaet med rekursivitet ved hjelp av banen, introduserte vi et enkelt eksempel for å veilede brukeren. Som vist i kommandoen nedenfor, er "allsidig" et ord vi vil søke. Etter ordet er det en katalog der vi ønsker å sortere. Den viser både filnavnet med katalogen og hele teksten i filen. -r viser også binære filer.
$ grep -r allsidig / home / aqsayasin
Rekursivt søk i alle kataloger og underkataloger
Siden vi alle er kjent med funksjonen “*” i søkesystemet. Det innebærer sortering i alle filer. Så kommandoen viser de respektive dataene fra alle filene. Husets ord skal søkes rekursivt ved hjelp av grep-setningen.
$ grep -r “hus” *
Den viser filnavnene og teksten inne ved å markere det søkte ordet, noe som indikerer at det finnes en kamp. Bare en enkelt tekstfil inneholdt det ordet, som vises i den resulterende linjen.
Grep rekursivt for en streng
I motsetning til eksemplene ovenfor fungerer grep på en streng i den spesifikke katalogen. / etc / er kommandokatalogen som betyr at søk vil være gjennom denne katalogen, IP-adressen til en datamaskin. Informasjonen lagres i katalogen, og har navn på filene i katalogen / etc / ppp /. Alternativet er navnet på en bestemt mappe. Denne kommandoen vil lese alle filene under den gitte katalogen.
$ grep -r “192.168.1.5 ”/ etc /
Navnene på filen i utdataene kan undertrykkes ved hjelp av alternativet-h. Kommandoen er som følger.
$ grep -h -R "192.168.1.5 "/ etc /Begge skillearkene kan skrives som -h -R i en kommando.
Søk rekursivt uten katalog
Rekursivt søk kan også gjøres uten å bruke en katalog ved å bare søke i et ord med et enkelt ord.
$ grep -r kone"Kone" -ordet blir søkt i alle kataloger automatisk, fordi når det ikke er nevnt noen katalog, vil søkeprosessen fortsette i alle filer og kataloger i systemet. Det vil også inkludere binære filer sammen med tekstfilene. Filadresse og filnavn vises først. Mens teksten i filen vises. Ikke bare ren tekst, men også grep-kommandoen som brukes på filteksten vises, i.e., grep 'Jeg er huskone'.
Grep eksakte flere mønstre
Søke i flere metoder er også en funksjon oppnådd gjennom grep-kommandoen. “-Rw” brukes til å utforske den aktuelle kampen. “-E” brukes til å legge til mer enn ett mønster i kommandoen. Katalogstien er nevnt for å gjøre det praktisk for systemet å søke. Binære filer er ekskludert fordi grensen er innført ved å legge til en katalog i kommandoen. Utgangen inneholder filkatalognavnet og filnavnet. Også tekst i filen vises.
$ grep -rw '/ hjem / aqsayasin /'
Søkte ord er uthevet i filteksten. Begge søkeordene må være tilstede i en enkelt fil. Det er en sannsynlighet for at det eksisterer ord i forskjellige filer, som vist i utdataene.
Grep rekursivt ved hjelp av - -Inkluder
“-Include” samsvarer med det gitte filmønsteret og fungerer effektivt da det også fremskynder søkeprosessen, som fungerer de fleste av filene. Her bringer den ikke binære eller kompilerte eller bildefiler i den. Filutvidelsen brukes til å legge til begrensninger i kommandoen. Katalogen er nevnt for å gi ønsket utdata. Det inkluderte nøkkelordet er ganske avansert i grep sammenlignet med andre funksjoner.
$ grep -r - -include = ”* txt” “søster” / hjem / aqsayasinKonklusjon
I denne artikkelen har vi forklart hvert eksempel for å demonstrere bruken av grep rekursiv funksjon. En rekursiv funksjon brukes til å søke med begrensninger og presist i alle kataloger i systemet. Hvis en katalog ikke er til stede, blir den nåværende katalogen vurdert som standard.