grep

Grep for flere mønstre eller strenger

Grep for flere mønstre eller strenger
Global Regular Expression Print eller Grep er et kraftig verktøy som brukes i Linux-operativsystem. Gjennom grep kan du søke fra filer med forskjellige mønstre eller strenger ved å bruke begrensninger. Grep-funksjonen tar en eller flere inndatafiler for å søke i kataloger eller underkataloger. For å søke etter mange mønstre bruker vi OR-operatoren. Denne operatøren brukes til å skille mønstrene som er skrevet i kommandoen. Endringsoperatøren “|” brukes med tilbakeslag. Syntaksen for å søke i forskjellige regulære uttrykk er som følger:

Syntaks

$ grep 'mønster1 \ | mønster2' filnavn

Et 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.tekst

Kommandoen 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.tekst

Det 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.tekst

Her 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.

Mus Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
De siste årene har datamaskiner og operativsystemer utviklet seg sterkt. Det var en tid da brukere måtte bruke kommandoer for å navigere gjennom filad...
Mus Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Dual Display Mouse Manager lar deg kontrollere og konfigurere musebevegelse mellom flere skjermer, ved å bremse bevegelsene nær grensen. Windows 10/8,...
Mus WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
Hvis du vil forbedre standardfunksjonene til musepekeren, bruk freeware WinMouse. Det legger til flere funksjoner som hjelper deg å få mest mulig ut a...