Bruke grep: 5 banebrytende kommandoeksempler

Lær hvordan du effektivt bruker Linux grep-kommandoen med fem essensielle alternativer som forbedrer søkefunksjonaliteten og sparer tid i arbeidet med filer.

Linux grep-kommandoen er et kraftig søkeverktøy. Fra min erfaring har jeg innsett at mesteparten av kraften jeg får fra den, kommer fra bare en håndfull alternativer. Disse er de jeg hele tiden bruker for å gjøre søk gjennom filer raskt og fokusert.

Søk uten bekymringer om størrelsen

En av de første grep-vanene jeg utviklet, var å slutte å anta at jeg visste hvordan noe var skrevet med store eller små bokstaver. I stedet for å gjette, lar jeg bare grep håndtere det for meg. Det er her -i kommer inn. Det forteller grep å ignorere store og små bokstaver helt, som er akkurat det jeg vil ha mesteparten av tiden når jeg leter etter et mønster.

grep -i "error" sample.txt

Med -i fanger jeg opp hver variasjon av "error" i filen: stort, smått, blandet. Det vil si, uten å måtte lage et spesial-regex eller gjenta mønstre. Det er et lite flagg, men det sparer meg for mye tid og holder søkene mine enkle, spesielt når jeg skanner logger eller jobber med inkonsekvent utdata.

Søk en hel katalog

Jeg stoler på -R for rekursivt søk hver gang jeg trenger å søke utover en enkelt fil. For la oss være ærlige, mesteparten av tiden ser du ikke bare ét sted. Enten det er en mappe med notater, et lite kodeprosjekt eller en samling nedlastede tekstfiler, vil jeg at grep skal søke i alt uten at jeg må navigere hvert katalog manuelt.

Det er akkurat det -R gjør. Det forteller grep å gå gjennom hele katalogtreet og se inne i hver fil den finner.

grep -R "cleanup" ./Documents

Dette skanner "Documents"-mappen og alle dens undermapper for ordet "cleanup." Det viser også filen der den fant strengen. Jeg bruker ofte dette når jeg vagt husker at jeg har skrevet noe ned et sted, men ikke kan huske hvilken fil det havnet i.

Matche flere ting samtidig

På et tidspunkt er et enkelt søkeord ikke nok. Kanskje jeg leter etter ett av flere termer, eller jeg vil matche et mønster uten å måtte kjøre flere kommandoer. Det er da jeg bytter til -E, som låser opp utvidede regulære uttrykk og gjør grep mye mer fleksibelt.

Nå trenger du ikke å skrive komplekse regex-mesterverk. Jeg snakker om små, praktiske mønstre som gjør dagligdagse søk smidigere. Her er et eksempel:

grep -E "error|warning|failed" sample.txt

Med -E fungerer |-operatoren som en logisk ELLER. Det lar meg søke etter flere ting samtidig. Det er super nyttig når jeg skanner tekst og vil fange opp ethvert av noen termer.

Jeg får ofte bruk for dette når jeg ser gjennom en katalog med notater eller prosjektfiler og vil finne noe som er relatert til bestemte søkeord, selv om jeg ikke er sikker på hvilket jeg brukte. Det føles renere og raskere enn å kjøre flere søk, og det hindrer meg fra å gå glipp av noe viktig.

Bli renere resultater gjennom å matche hele ord

En ting som ofte gjorde meg usikker med grep, var å få flere treff enn jeg faktisk ønsket. Jeg ville søke etter et ord, og grep ville gladelig matche det inne i andre ord også. Noen ganger er det greit, men andre ganger fører det til mye støy. Det er her -w kommer inn. Det forteller grep å matche kun hele ord, ingenting festet til fronten eller baksiden.

grep -w "error" sample.txt

Med -w vil grep matche "error" men hoppe over ting som "errors" eller "terror." Forskjellen kan være subtil, men når du prøver å være presis, betyr det mye. Jeg bruker dette når jeg søker gjennom personlige notater, skript, eller tekstfiler hvor lignende ord kan dukke opp, men jeg bryr meg bare om den nøyaktige. Det holder bare ting rent.

Filtrer ut støyen med invers matching

Jeg liker å tenke på -v som grep sin vippebryter. Hvert annet flagg hjelper deg å finne det du leter etter. Og så dukker -v opp og sier: "Faktisk, hva med å se etter alt annet enn det?"

Og ærlig talt? Det er flott. -v-flagget snur hele ideen om grep på hodet ved å ekskludere linjer som matcher et mønster.

grep -v "DEBUG" sample.txt

I stedet for å vise treffene, skjuler det dem og viser deg alt annet. Det er mer nyttig enn jeg forventet. Når jeg vil ignorere linjer med et bestemt tag, eller hoppe over en gjentatt fras som ødelegger utsikten min, blir dette min go-to.

grep kommando

Dette er min personlige hurtigliste.

Det er mye mer du kan utforske med grep, men du trenger virkelig ikke en stor verktøykasse for å være effektiv.

Du bør også utforske andre filbehandlingskommandoer.

Hvis du vil lese flere artikler som Bruke grep: 5 banebrytende kommandoeksempler, kan du besøke kategorien Linux.

Index
  1. Søk uten bekymringer om størrelsen
  2. Søk en hel katalog
  3. Matche flere ting samtidig
  4. Bli renere resultater gjennom å matche hele ord
  5. Filtrer ut støyen med invers matching
  6. grep kommando

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Go up