10 Praktiske eksempler på Linux Grep -kommandoen

10 Praktiske eksempler på Linux Grep -kommandoen

Grep -kommandoen gir tilgang til grep -verktøyet, et kraftig filbehandlingsverktøy som brukes til å finne mønstre i tekstfiler. Den har mange praktiske bruksområder og er absolutt en av de mest brukte Linux -kommandoene. Denne veiledningen illustrerer noen enkle, men nyttige Linux grep-kommandoer som har virkelige bruksområder.





Eksempelfil for demonstrasjon

Vi har laget en referansefil for å hjelpe leserne til å forstå grep mer effektivt. Du kan lage en kopi av denne filen ved å utstede følgende shell -kommando i terminalen.





sett statisk ip på bringebær pi
cat <> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END

1. Finn tekst i filer

For å søke etter tekstmønster i en fil, bare kjør grep etterfulgt av mønsternavnet. Angi også navnet på filen som inneholder teksten.





grep 'email' test-file

Denne kommandoen viser linjen i vår testfil som inneholder ordet e -post . Du kan også søke etter samme tekst i flere filer ved hjelp av grep.

grep 'example' /usr/share/dict/american-english /usr/share/dict/british-english

Kommandoen ovenfor viser alle forekomster av ordet eksempel i amerikansk engelsk og Britisk engelsk ordbokfiler.



2. Finn ord for eksakt samsvar

Linux grep -kommandoen illustrert i det tidligere eksemplet viser også linjer med delvise treff. Bruk kommandoen nedenfor hvis du bare trenger den eksakte forekomsten av et ord.

grep -w 'string' test-file

De -i eller --word-regexp alternativet grep begrenser utdataene til eksakte treff. Grep består av noen ekstra flagg som også kan brukes med standardkommandoen.





Relatert: Hvordan fikk Grep navnet sitt? Historien bak Greps skapelse

3. Ignorer saksdifferensjoner

Som standard søker grep etter mønstre på en bokstavsensitiv måte. Du kan imidlertid slå av dette hvis du ikke vet i hvilket tilfelle mønsteret er på forhånd.





grep -i 'this' test-file

Bruke -Jeg eller --ignore-case alternativ for å slå av bokstavfølsomhet.

4. Tell antall mønstre

De -c flagget står for telle . Den viser antall treff som ble funnet for et bestemt mønster. Administratorer kan bruke dette til å hente spesifikk informasjon om systemet.

Du kan rør kommandoen ps med grep for å telle prosessene som tilhører den nåværende brukeren.

ps -ef | grep -c $USER

Følgende kommando viser antall MP3 filer som finnes i en katalog.

ls ~/Music | grep -c .mp3

5. Vis linjenumre som inneholder treff

Det kan være lurt å finne linjenumrene som inneholder en viss treff. Bruke -n eller --linjenummer alternativet grep for å oppnå dette.

cat /etc/passwd | grep -n rubaiat

Dette alternativet er spesielt nyttig for feilsøking av kildekoder og feilsøking av loggfiler. For å vise alle tallene for linjer i ~/.vimrc som brukes til å konfigurere Vim -tekstredigereren:

grep -n 'set' ~/.vimrc

6. Finn filnavn ved hjelp av utvidelser

For å få en liste over alle MP3 filer som finnes i ~/Musikk katalog:

ls ~/Music/ | grep '.mp3'

Du kan bytte ut .mp3 med andre utvidelser for å finne bestemte filer. Følgende kommando viser alle php filer som finnes i den nåværende arbeidskatalogen.

er ubuntu raskere enn windows 10
ls | grep '.php'

7. Finn mønstre i komprimerte filer

Linux grep -kommandoen kan også finne mønstre i komprimerte filer. Du må bruke zgrep kommando for å gjøre dette, men. Lag først et komprimert arkiv av våre testfil ved å skrive:

gzip test-file

Nå kan du søke etter tekst eller andre mønstre i det resulterende arkivet.

zgrep email test-file.gz

8. Finn e -postadresser

Administratorer kan også vise e -postadresser fra tekstfiler ved hjelp av Linux grep -kommandoen. Følgende eksempel gjør dette ved å søke etter et vanlig uttrykksmønster.

grep '^[a-zA-Z0-9]+@[a-zA-Z0-9]+.[a-z]{2,}' test-file

Du kan finne vanlige uttrykk for å gjøre lignende jobber, eller du kan lage dem selv hvis du vet hvordan de fungerer.

9. Finn telefonnumre ved hjelp av Grep

Du kan bruke grep regulære uttrykk for å filtrere ut telefonnumre fra en tekstfil. Vær oppmerksom på at du må justere mønsteret for å matche typen telefonnumre du trenger.

grep '(([0-9]{3})|[0-9]{3})[ -]?[0-9]{3}[ -]?[0-9]{4}' test-file

Den ovennevnte kommandoen filtrerer bort ti-sifrede amerikanske telefonnumre.

10. Finn nettadresser fra kildefiler

Vi kan dra nytte av grep for å liste opp URL -er som finnes i tekstfiler. Kommandoen nedenfor skriver ut alle nettadressene som finnes i testfil .

grep -E '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

Vi bruker igjen -OG alternativ for utvidede regulære uttrykk. Du kan også bruke egrep kommando for å unngå å legge dette til.

egrep '^(http|https|ftp):[/]{2}([a-zA-Z0-9-.]+.[a-zA-Z]{2,4})' test-file

Beherske Linux Grep -kommandoen

Vi har presentert flere nyttige eksempler på Linux grep-kommandoen for å takle virkelige problemer. Selv om disse eksemplene illustrerer greps kraft for tekstbehandling, må du mestre vanlige uttrykk hvis du vil være superproduktiv med grep.

Noen ganger støter Linux -brukere på visse situasjoner der de ikke kan huske de forskjellige alternativene knyttet til en kommando. Forhåpentligvis gir Linux-operativsystemet deg måter å få kommandolinjehjelp for nesten alle systemverktøy.

Dele Dele kvitring E -post 7 måter å få kommandolinjehjelp på Linux

Alle viktige kommandoer for å lære om Linux-kommandoer fra kommandolinjen

Les neste
Relaterte temaer
  • Linux
  • Linux
  • Linux -kommandoer
Om forfatteren Rubaiat Hossain(39 artikler publisert)

Rubaiat er en CS grad med en sterk lidenskap for åpen kildekode. Bortsett fra å være Unix -veteran, er han også interessert i nettverkssikkerhet, kryptografi og funksjonell programmering. Han er en ivrig samler av brukte bøker og har en uendelig beundring for klassisk rock.

Mer fra Rubaiat Hossain

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

hva du skal gjøre hvis facebooken din er hacket
Klikk her for å abonnere