10 Praktiske eksempler på Linux Grep -kommandoen

10 Praktiske eksempler på Linux Grep -kommandoen

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 anvendelsessager og er bestemt en af ​​de mest brugte Linux -kommandoer. Denne vejledning illustrerer nogle enkle, men nyttige Linux grep-kommandoer, der har virkelige anvendelser.





Eksempelfil til demonstration

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





skal jeg opgradere mit bundkort
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. Find tekst i filer

Hvis du vil 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.





grep 'email' test-file

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

grep 'example' /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 ordbogsfiler.



2. Find præcise 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 'string' test-file

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





Relateret: Hvordan fik Grep sit navn? Historien bag Greps skabelse

3. Ignorer sagsforskelle

Som standard søger grep efter mønstre i store og små bogstaver. Du vil dog muligvis deaktivere dette, hvis du ikke ved, i hvilket tilfælde mønsteret er på forhånd.





grep -i 'this' test-file

Brug -jeg eller --ignore-case mulighed for at slukke for følsomhed mellem store og små bogstaver.

4. Tæl antallet af mønstre

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

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

ps -ef | grep -c $USER

Følgende kommando viser antallet af MP3 filer, der findes i et bibliotek.

ls ~/Music | grep -c .mp3

5. Vis linjenumre, der indeholder kampe

Du vil måske finde de linjenumre, der indeholder et bestemt match. Brug -n eller --linjenummer mulighed for grep for at opnå dette.

cat /etc/passwd | grep -n rubaiat

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

grep -n 'set' ~/.vimrc

6. Find filnavne ved hjælp af udvidelser

For at få en liste over alle MP3 filer, der findes i ~/Musik vejviser:

ls ~/Music/ | grep '.mp3'

Du kan udskifte .mp3 med andre udvidelser til lokalisering af bestemte filer. Følgende kommando viser alle php filer til stede i det aktuelle arbejdskatalog.

flytte alle apps til sd -kort
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 for at gøre dette, dog. Opret først et komprimeret arkiv af vores test-fil ved at skrive:

gzip test-file

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

zgrep email test-file.gz

8. Find e -mail -adresser

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

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

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 skal justere mønsteret, så det matcher den type telefonnumre, du har brug for.

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

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

10. Find webadresser fra kildefiler

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

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

Vi bruger igen -OG 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-file

Beherske Linux Grep -kommandoen

Vi har præsenteret flere nyttige eksempler på Linux grep-kommandoen til håndtering af virkelige problemer. Selvom disse eksempler illustrerer greps kraft til tekstbehandling, skal du mestre regulære udtryk, hvis du vil være superproduktiv med grep.

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

Del Del Tweet 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(39 artikler udgivet)

Rubaiat er en CS grad med en stærk passion for open source. Udover at være Unix -veteran, er han også til 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

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

hvordan du gendanner din facebook -konto
Klik her for at abonnere