Linux-terminalen er fuld af nyttige kommandoer, men få er så kraftfulde som de tilsyneladende simple grep. Det står for Globalt regulært udtrykstryk, udskrivning af resultaterne af brugerdefinerede systemsøgninger efter samlinger af tegn.

grep er ekstremt kraftfuldt, men kan være ret skræmmende at bruge, så i dag vil du lære nogle grundlæggende ting. Hvis du leder efter nogle oplysninger i dokumenterne på din maskine, leder du normalt efter flere ord på én gang.

Denne artikel fokuserer på, hvordan du søger i flere strenge ved hjælp af grep og vil vise dig et par lignende tips og tricks til at bruge grep generelt.

Søger efter flere strenge i grep

Før du går i gang, skal du sikre dig, at du er fortrolig med nogle få grundlæggende Linux-principper. Først skal du være i stand til at åbne en terminal - på de fleste systemer gør du dette med tastekombinationen Ctrl + Alt + T, eller via applikationsmenuen.

Du skal også være bekendt med, hvordan du refererer til filer efter sti ved hjælp af terminalen. For eksempel, hvis du vil indtaste stien til et tekstdokument, der ligger i en mappe kaldet

instagram viewer
arbejde inde i hjem mappe, vil du referere til den ved hjælp af dette format:

~/work/textdocument.txt

Denne syntaks ved hjælp af ~ og /, efterfulgt af placeringen af ​​filen i hjemmemappen, er det, du skal bruge til at vise grep-kommandoen, hvilke filer der skal søges i.

Lad os f.eks. sige, at du ville finde hver eneste forekomst af ordene bi og Vanessa i et tekstdokument, der indeholder manuskriptet fra Bee-filmen fra 2007. Syntaksen ser sådan ud:

grep -E 'bee| Vanessa' ~/work/beescript.txt

Når du kører denne kommando, får du en liste tilbage over hver linje i dokumentet, der indeholder ordet bi eller ordet Vanessa.

Lad os bryde kommandoen lidt ned:

grep -E

Den første del kører grep-kommandoen med -E mulighed. Dette leder grep til at søge ved hjælp af en Eudvidet regulært udtryk. Forskellige typer regulære udtryk er et emne for en anden dag - og at mestre regulære udtryk kræver en levetid - men til formålet med denne øvelse giver kommandoen fed-E dig mulighed for at søge i flere strenge ved hjælp af grep.

grep -E 'bee| Vanessa'

Den næste del indeholder de strenge, du vil søge efter. De skal stå i enkelte anførselstegn med et rør mellem hvert ord.

grep -E 'bee| Vanessa' ~/work/beescript.txt

Den sidste del af grep-kaldet tager stien til den fil, du ønsker at søge; i dette tilfælde manuskriptet til Bee-filmen fra 2007.

grep Tips og tricks

Det er en god start, men der er mange praktiske måder at bruge grep på. Nu hvor du ved, hvordan du finder flere strenge, er her et par kommandoer, der kan tage denne magt til næste niveau:

grep -E 'bee| Vanessa' ~/work/beescript.txt ~/fun/mybeestory.txt

Dette minder meget om den forrige kommando, bortset fra at den returnerer alle linjer, der indeholder bee og Vanessa fra både Bee-filmmanuskriptet og fra min egen Bee-historietekstfil.

Alle disse omtaler af bier bliver dog ret svære at læse.

grep -E 'bee| Vanessa' ~/work/beescript.txt ~/fun/mybeestory.txt | mindre

Dette tager den samme grep-kommando og overfører den til mindre. Dette åbner resultaterne i et format, der er let at navigere, så du kan rulle op og ned ved hjælp af j og k tasterne og søg i resultaterne ved hjælp af / nøgle.

grep -E 'bee| Vanessa' ~/work/beescript.txt ~/fun/mybeestory.txt > beeresults.txt

Ligesom kommandoen less, tager den førnævnte kommando grep-resultaterne og gemmer dem alle i en separat fil. Du kan derefter åbne denne fil i din foretrukne teksteditor for yderligere redigering.

Relaterede: Linux Commands Reference Cheat Sheet

Arbejde med grep i Linux

Forhåbentlig får du en idé om, hvor kraftfuldt grep kan være - og dette ridser ikke engang overfladen. Gå frem, og grep!

Hvordan fik Grep sit navn? Historien bag Greps skabelse

Har du nogensinde undret dig over, hvad Grep står for? Her er den sande historie bag skabelsen af ​​Grep.

Læs Næste

DelTweetE-mail
Relaterede emner
  • Linux
  • Linux kommandoer
  • Linux Bash Shell
Om forfatteren
Ian Buckley (219 artikler udgivet)

Ian Buckley er freelancejournalist, musiker, performer og videoproducer bosat i Berlin, Tyskland. Når han ikke skriver eller er på scenen, roder han med DIY-elektronik eller kode i håbet om at blive en gal videnskabsmand.

Mere fra Ian Buckley

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere