Syntaks
$ grep 'mønster1 \ | mønster2' filnavnEt vanlig uttrykk skrives alltid i et enkelt sitat. To navn er atskilt med tilbakeslag og endringsoperator. Kommandoen avsluttes med filnavnet. Mens grep rekursivt brukes, brukes katalog eller hele banen i stedet for et enkelt filnavn.
Forutsetning
I denne artikkelen vil vi lære funksjonaliteten til grep når vi søker i flere mønstre og strenger. For dette formålet må du ha Linux-operativsystemet som kjører på den virtuelle boksen. Du må installere det på systemet ditt. Etter konfigurasjonen har du tilgang til å bruke alle applikasjoner. Etter å ha logget på brukeren ved å oppgi et passord, gå til kommandolinjen til terminalskallet for å fortsette.
Søk etter flere mønstre i en fil ved hjelp av Grep
Hvis vi vil søke i flere mønstre eller strenger i en bestemt fil, kan du bruke grep-funksjonaliteten til å sortere i en fil ved hjelp av mer enn ett inndatningsord i kommandoen. Vi bruker '\ |' operatører for separering av to mønstre i en kommando.
$ grep 'teknisk \ | jobb' filea.tekstKommandoen representerer hvordan grep fungerer. Begge filene som er nevnt, blir søkt i filea.tekst. Søkte ord er uthevet i hele teksten i utdataene.
For å søke etter mer enn to ord, vil vi fortsette å legge dem til på samme måte.
$ grep 'grafisk \ | photoshop \ | plakater' fileb.tekst
Søk i flere strenger ved å ignorere sak
For å forstå begrepet saksfølsomhet i grep-funksjon i Linux, bør du vurdere følgende eksempel. To kommandoer fungerer på grep. Den ene er med '-i' og den andre er uten. Dette eksemplet viser forskjellene mellom kommandoene. Den første viser at det blir søkt etter to ord i en gitt fil. Som angitt i kommandoen "Aqsa", begynner det imidlertid med hovedstad A. Dermed blir den ikke uthevet fordi denne teksten i små bokstaver i en bestemt fil.
$ grep 'Aqsa \ | søster' fil20.tekstDet vil bare ta ordet søster i betraktning, som vil sees i utdataene.
I det andre eksemplet har vi ignorert saksfølsomhet ved å bruke “-I” -flagget. Denne funksjonen vil søke i begge ordene, og utdata vil bli uthevet. Om ordet 'Aqsa' er skrevet med store bokstaver eller ikke, vil grep søke etter samme treff i tekst i en fil. Så begge kommandoene er nyttige på deres måter.
$ grep -I 'Aqsa \ | søster' fil20.tekst
Teller flere treff i en fil
Tellefunksjon hjelper med å telle forekomsten av et ord eller ord i en bestemt fil. For eksempel hvis du vil vite om feilene som oppstår i systemet. Detaljene er registrert i loggfilen. For å opprettholde denne informasjonen i en bestemt mappe, vil du skrive banen til mappene. Dette eksemplet viser at 71 feil oppstod i loggfiler.
Søk i nøyaktige treff i en fil
Hvis du vil finne en nøyaktig samsvar i filene på systemet ditt, må du bruke “-w” -flagget for å sortere det nøyaktig. Vi har sitert et enkelt og omfattende eksempel. I eksemplet nedenfor kan du vurdere å søke uten “-w”, denne kommandoen vil bringe begge ordene i samsvar med den gitte inngangen. Men når du bruker “-w” -flagget, vil søking være begrenset, ettersom inntastingsord bare samsvarer med den første strengen. Det andre ordet er ikke uthevet fordi “-w” tillater nøyaktig samsvar med mønsteret.
$ -iw 'hamna \ | house' fil21.tekstHer brukes -I også for å fjerne store og små bokstaver i tekstsøking.
Som vist på bildet er ikke resultatene de samme. Den første kommandoen bringer alle relaterte data med hele strenger, mens den andre kommandoen viser hvordan eksakte data samsvarer med grep når du søker etter flere strenger.
Grep for mer enn ett mønster i en bestemt filtypetype
Søking gjøres i alle filer. Det er opp til deg hvis du søker ved å oppgi filnavn. Det vil bare søke i bestemte filer. Men ved å tilby en filtype, vil det bli søkt i data gjennom alle filene med samme utvidelse. Det er to forskjellige eksempler for å skildre det relaterte resultatet. Med tanke på det første eksemplet vil feilfiler telles i alle filene i .loggutvidelse. “-C” brukes til telling.
$ grep -c 'advarsel \ | feil' / var / log / *.Logg
Denne kommandoen innebærer at filene vil bli søkt i alle filene i .loggutvidelse. Antall treff vil vises i utdataene for bedre å demonstrere grep med den spesifikke filtypen.
I det andre eksemplet har vi brukt to ord i filene våre i Linux med utvidelsen av teksten. Alle data vil vises i form av tall. 0 indikerer ingen samsvarende data, mens annet enn 0 viser at det finnes en samsvar.
$ grep -c 'aqsa \ | min' / home / aqsayasin / *.tekst
Søke etter flere mønstre rekursivt i en fil
Som standard brukes den gjeldende katalogen hvis det ikke er noen katalog nevnt i kommandoen. Hvis du vil søke i katalogen etter eget valg, må du nevne det. “-R” operatør brukes til grep rekursivt./ home / aqsayasin / viser filstien, mens *.txt viser utvidelsen. Tekstfiler vil være målet for grep å søke rekursivt.
$ grep -R 'teknisk \ | gratis' / hjem / aqsayasin / *.tekst
Den ønskede utgangen er markert i resultatet som viser eksistensen av disse ordene.
Konklusjon
I artikkelen som er nevnt ovenfor, har vi sitert forskjellige eksempler for å gjøre det lettere for en bruker å forstå hvordan kommandoer fungerer for å søke i flere mønstre på Linux. Denne guiden vil hjelpe deg med å trappe opp din eksisterende kunnskap.