Af Rubaiat Hossain
E-mail

Grep-kommandoen bruges til at søge efter strenge i en tekstfil. Her er ti eksempler på grep, som du måske finder nyttige.

Kommandoen grep giver adgang til grep-værktøjet, et kraftfuldt filbehandlingsværktøj, der bruges til at finde mønstre i tekstfiler. Det har mange praktiske brugssager og er bestemt en af ​​de mest anvendte Linux-kommandoer. Denne guide illustrerer nogle enkle, men nyttige Linux grep-kommandoer, der har virkelige anvendelser.

Eksempel på fil til demonstration

Vi har oprettet en referencefil, der hjælper læserne med at forstå grep mere effektivt. Du kan oprette en kopi af denne fil ved at udstede følgende shell-kommando i din terminal.

kat <> test-fil
Dette er en simpel tekstfil, der indeholder
flere strenge samt nogle telefonnumre
(555) 555-1234 (567) 666-2345
og e-mail plus webadresser
[email protected]
https://google.com
ftp://mywebserver.com
ENDE

1. Find tekst i filer

For at søge efter tekstmønster i en fil skal du blot køre grep efterfulgt af mønsternavnet. Angiv også navnet på den fil, der indeholder teksten.

instagram viewer

grep "e-mail" testfil

Denne kommando viser linjen i vores test-fil der indeholder ordet e-mail. Du kan også søge i den samme tekst i flere filer ved hjælp af grep.

grep "eksempel" / usr / share / dict / american-english / usr / share / dict / british-english

Ovenstående kommando viser alle forekomster af ordet eksempel i amerikansk engelsk og britisk engelsk ordboksfiler.

2. Find nøjagtige matchord

Linux grep-kommandoen illustreret i det tidligere eksempel viser også linjer med delvise matches. Brug kommandoen nedenfor, hvis du kun har brug for de nøjagtige forekomster af et ord.

grep -w "streng" testfil

Det -w eller --ord-regexp mulighed for grep begrænser kun output til nøjagtige matches. Grep består af nogle ekstra flag, der også kan bruges med standardkommandoen.

Relaterede: Hvordan Grep fik sit navn? Historien bag Greps oprettelse

3. Ignorer sagsforskelle

Som standard søger grep efter mønstre på en skift mellem store og små bogstaver. Det kan dog være en god idé at slå dette fra, hvis du ikke ved i hvilket tilfælde mønsteret er på forhånd.

grep -i "denne" testfil

Brug -jeg eller - stor sag mulighed for at deaktivere sagsfølsomhed.

4. Tæl antallet af mønstre

Det -c flag står for tælle. Det viser antallet af matches, der blev fundet for et bestemt mønster. Administratorer kan bruge dette til at hente specifikke oplysninger om systemet.

Du kan pibe ps-kommandoen med grep for at tælle de processer, der tilhører den aktuelle bruger.

ps -ef | grep -c $ BRUGER

Den følgende kommando viser antallet af MP3 filer til stede i et bibliotek.

ls ~ / Musik | grep -c .mp3

5. Vis linjenumre, der indeholder matches

Det kan være en god idé at finde de linjenumre, der indeholder et bestemt match. Brug -n eller --linjenummer mulighed for grep for at opnå dette.

kat / etc / passwd | grep -n rubaiat

Denne mulighed er især nyttig til fejlretning kildekoder og fejlfinding af logfiler. For at få vist alle numrene for linjer i ~ / .vimrc der bruges til konfiguration af Vim-teksteditoren:

grep -n "sæt" ~ / .vimrc

6. Find filnavne ved hjælp af udvidelser

For at få en liste over alle MP3 filer til stede i ~ / Musik vejviser:

ls ~ / Musik / | grep ".mp3"

Du kan erstatte .mp3 med andre udvidelser til lokalisering af specifikke filer. Den følgende kommando viser alle php filer til stede i den aktuelle arbejdsmappe.

ls | grep ".php"

7. Find mønstre i komprimerede filer

Linux grep-kommando kan også finde mønstre inde i komprimerede filer. Du bliver nødt til at bruge zgrep kommando til at gøre dette, dog. Opret først et komprimeret arkiv af vores test-fil ved at skrive:

gzip testfil

Nu kan du søge efter tekst eller andre mønstre i det resulterende arkiv.

zgrep e-mail test-fil.gz

8. Find e-mail-adresser

Administratorer kan også liste e-mail-adresser fra tekstfiler ved hjælp af Linux grep-kommandoen. Følgende eksempel gør dette ved at søge efter et mønster med et regulært udtryk.

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

Du kan finde regelmæssige udtryk for at udføre lignende job, eller du kan oprette dem selv, hvis du ved, hvordan de fungerer.

9. Find telefonnumre ved hjælp af Grep

Du kan bruge grep regulære udtryk til at filtrere telefonnumre fra en tekstfil. Bemærk, at du bliver nødt til at tilpasse mønsteret for at matche den type telefonnumre, du har brug for.

grep '\ ([[0-9] \ {3 \}) \ | [0-9] \ {3 \} \) [-] \? [0-9] \ {3 \} [-] \? [0-9] \ {4 \} 'testfil

Den førnævnte kommando filtrerer ti-cifrede amerikanske telefonnumre.

10. Find URL'er fra kildefiler

Vi kan udnytte kraften i grep til at angive webadresser, der findes i tekstfiler. Nedenstående kommando udskriver alle de URL'er, der findes i test-fil.

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

Vi bruger igen -E mulighed for udvidede regulære udtryk. Du kan også bruge egrep kommando for at undgå at tilføje dette.

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

Mestring af Linux Grep Command

Vi har præsenteret flere nyttige eksempler på Linux grep-kommandoen til løsning af problemer i den virkelige verden. Selvom disse eksempler illustrerer kraften i grep til tekstbehandling, skal du mestre regulære udtryk, hvis du vil være superproduktiv med grep.

Nogle gange støder Linux-brugere på bestemte situationer, hvor de ikke kan huske de forskellige muligheder relateret til en kommando. Forhåbentlig giver Linux-operativsystemet dig måder at få kommandolinjehjælp til næsten alle systemværktøjer.

E-mail
7 måder at få kommandolinjehjælp på Linux

Alle de vigtige kommandoer til at lære om Linux-kommandoer fra kommandolinjen

Læs Næste

Relaterede emner
  • Linux
  • Linux
  • Linux-kommandoer
Om forfatteren
Rubaiat Hossain (15 artikler offentliggjort)

Rubaiat er en CS grad med en stærk passion for open source. Bortset fra at være Unix-veteran, er han også interesseret i netværkssikkerhed, kryptografi og funktionel programmering. Han er en ivrig samler af brugte bøger og har en uendelig beundring for klassisk rock.

Mere fra Rubaiat Hossain

Abonner på vores nyhedsbrev

Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!

Et trin mere !!!

Bekræft din e-mail-adresse i den e-mail, vi lige har sendt dig.

.