Grep er et lite Unix-program for å finne matchende mønstre. Begynner som et Unix-program, kan det bli funnet på Linux, samt Mac og BSD. Den kan lese omtrent enhver tekst, noe som betyr at den kan lese innspill fra andre kommandoer, eller den kan åpne og se gjennom filer direkte. Grep er sinnsykt nyttig, spesielt for å se gjennom kataloger fra kommandolinjen.

Med det, hvorfor ikke prøve en av de vanligste bruksområdene til Grep, finne en fil i en katalog. Se gjennom mappen "~ / Nedlastinger" for eventuelle "jpg" -bilder.

 ls ~ / nedlastinger | grep .jpg 

Grep vil liste dem alle ut og markere ".jpg" -delen siden det er det du søkte etter.

Du piper utgangen (med kommandoen "|") av omtrent hvilken som helst kommando i grep . Hvis du har en ren tekstfil rundt, cat den ut og rør resultatet i Grep for å finne et bestemt ord.

 cat file.txt | grep ord 

Grep vil skrive ut noen linjer i filen som inneholder ordet som du fortalte det å lete etter.

Glem saken

Unix-lignende systemer er saksfølsomme, noe som betyr at "Ubuntu" er helt annerledes enn "ubuntu." Det kan være en smerte når du søker etter noe. Grep har et flagg for å eliminere problemet. Legg til -i flagget for søket ditt, og Grep vil ignorere saken.

 ls ~ / nedlastinger | grep -i Ubuntu 

Søk i en fil

Det ville ikke være så praktisk å trenge cat hver gang du ønsket å søke i en fil. Egentlig gjør du det ikke. Grep kan søke gjennom filer selv. Pass den veien til filen, og Grep vil gjøre resten.

 grep -i word /path/to/file.txt 

Rekursive søk

Grep kan søke gjennom mer enn én fil eller katalog samtidig. Vær advart, hvis du leter etter filnavn, vil Grep søke gjennom filer som standard også. -r flagget forteller Grep å søke rekursivt.

 ls ~ / nedlastinger | grep -r .deb 

Du kan også kombinere dette med andre flagg. Du vil kanskje inkludere -I flagget når du gjør rekursive søk for å holde Grep fra å se gjennom binære filer.

 ls ~ / nedlastinger | grep -iIr .deb 

Finn motsatt

Du kan også fortelle Grep å se etter alt som ikke inneholder det angitte mønsteret. Dette ville være bra i tilfeller hvor du må finne en feil, eller du har en katalog med masse filer av en eller to typer.

 grep -rv '192.168.1.110' / etc / nginx 

Ord og linjer

Det kan også være nyttig å fortelle Grep å søke etter komplette ord eller linjer, i stedet for alt som inneholder et bestemt mønster. Tenk deg at du leter etter en streng av tegn som er vanlige som en del av et ord, men du trenger det å være atskilt. For eksempel, ordet "det". Det var åpenbart at det ikke ville være mange ganger at du faktisk ville se etter et mønster som "det", men det viser poenget.

 cat textfile.txt | grep -w det 

I stedet for å skrive ut hvert ord som inneholder mønsteret, vil Grep bare skrive ut ordet av seg selv. Det gjør det samme for hele linjene med -x flagget, så hvis du leter etter en setning eller en enkelt linje i en konfigurasjonsfil, kan det virkelig hjelpe.

Hvis du er interessert i å undersøke alt Grep kan gjøre, løp man grep i en terminal for den komplette dokumentasjonen. Denne artikkelen dekket grunnleggende og alt du vanligvis trenger fra dette kraftige verktøyet. Del med oss ​​hvis du vet om noen kraftige bruksområder av Grep-kommandoen.

Bildekreditt: Shell-skript av interesse for koordinater