grep

Hvordan bruke Grep rekursivt?

Hvordan bruke Grep rekursivt?

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 / aqsayasin

Konklusjon

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.

Mus Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Musepekeren og markøren i Windows 10 er veldig viktige aspekter ved operativsystemet. Dette kan sies også for andre operativsystemer, så i sannhet er ...
Gratis og åpen kildekode-spillmotorer for utvikling av Linux-spill
Denne artikkelen vil dekke en liste over gratis og open source-spillmotorer som kan brukes til å utvikle 2D- og 3D-spill på Linux. Det er mange slike ...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...