De Rubaiat Hossain
E-mail

Comanda grep este utilizată pentru a căuta șiruri într-un fișier text. Iată zece exemple de grep care ar putea fi utile.

Comanda grep oferă acces la utilitarul grep, un instrument puternic de procesare a fișierelor folosit pentru a găsi modele în fișiere text. Are multe cazuri practice de utilizare și este cu siguranță una dintre cele mai utilizate comenzi Linux. Acest ghid ilustrează câteva comenzi grep Linux simple, dar utile, care au utilizări în lumea reală.

Exemplu de fișier pentru demonstrație

Am creat un fișier de referință pentru a ajuta cititorii să înțeleagă grep mai eficient. Puteți crea o copie a acestui fișier emițând următoarea comandă shell în terminalul dvs.

pisică <> test-fișier
Acesta este un fișier text simplu care conține
șiruri multiple, precum și unele numere de telefon
(555) 555-1234 (567) 666-2345
și e-mail plus adrese web
[email protected]
https://google.com
ftp://mywebserver.com
SFÂRȘIT

1. Găsiți text în fișiere

instagram viewer

Pentru a căuta modelul de text într-un fișier, pur și simplu rulați grep urmat de numele modelului. De asemenea, specificați numele fișierului care conține textul.

grep "e-mail" fișier de testare

Această comandă va afișa linia în fișier de testare care conține cuvântul e-mail. De asemenea, puteți căuta același text în mai multe fișiere folosind grep.

grep "exemplu" / usr / share / dict / american-engleză / usr / share / dict / british-english

Comanda de mai sus afișează toate instanțele cuvântului exemplu în engleza americana și engleza britanică fișiere de dicționar.

2. Găsiți cuvinte potrivite exact

Comanda Linux grep ilustrată în exemplul anterior listează, de asemenea, liniile cu potriviri parțiale. Utilizați comanda dată mai jos dacă aveți nevoie doar de apariția exactă a unui cuvânt.

grep -w fișier de testare „șir”

-w sau --word-regexp opțiunea grep limitează ieșirea doar la potriviri exacte. Grep constă din câteva stegulețe suplimentare care pot fi utilizate și cu comanda implicită.

Legate de: Cum și-a luat numele Grep? Istoria din spatele creației lui Grep

3. Ignorați distincțiile de caz

În mod implicit, grep caută modele într-un mod sensibil la majuscule. Cu toate acestea, poate doriți să dezactivați acest lucru dacă nu știți în ce caz modelul este în prealabil.

grep -i "acest" fișier de testare

Folosește -i sau --ignore-case opțiune pentru dezactivarea sensibilității la majuscule.

4. Numărați numărul de modele

-c steag înseamnă numara. Afișează numărul de potriviri care au fost găsite pentru un anumit model. Administratorii pot utiliza acest lucru pentru a obține informații specifice despre sistem.

Poți să faci pipă comanda ps cu grep pentru a număra procesele care aparțin utilizatorului curent.

ps -ef | grep -c $ USER

Următoarea comandă afișează numărul de MP3 fișiere prezente într-un director.

ls ~ / Muzică | grep -c .mp3

5. Afișați numerele de linie care conțin meciuri

Poate doriți să găsiți numerele de linie care conțin o anumită potrivire. Folosește -n sau --Numărul de linie opțiunea grep pentru a realiza acest lucru.

cat / etc / passwd | grep -n rubaiat

Această opțiune este deosebit de utilă pentru depanarea codurilor sursă și depanarea fișierelor jurnal. Pentru a afișa toate numerele pentru linii în ~ / .vimrc care sunt folosite pentru configurarea editorului de text Vim:

grep -n "set" ~ / .vimrc

6. Găsiți nume de fișiere folosind extensii

Pentru a obține o listă a tuturor MP3 fișiere prezente în ~ / Muzică director:

ls ~ / Muzică / | grep ".mp3"

Puteți înlocui .mp3 cu orice alte extensii pentru localizarea anumitor fișiere. Următoarea comandă listează toate php fișiere prezente în directorul de lucru curent.

ls | grep ".php"

7. Găsiți modele în fișiere comprimate

Comanda grep Linux poate găsi, de asemenea, modele în fișierele comprimate. Va trebui să utilizați zgrep comanda pentru a face acest lucru, cu toate acestea. Mai întâi, creați o arhivă comprimată a noastră fișier de testare prin tastarea:

fișier de testare gzip

Acum, puteți căuta text sau alte modele în interiorul arhivei rezultate.

zgrep email test-file.gz

8. Găsiți adrese de e-mail

Administratorii pot lista, de asemenea, adresele de e-mail din fișierele text utilizând comanda grep Linux. Următorul exemplu face acest lucru căutând un model de expresie regulată.

grep '^ [a-zA-Z0-9] \ + @ [a-zA-Z0-9] \ + \. [a-z] \ {2, \}' fișier test

Puteți găsi expresii regulate pentru a face lucrări similare sau le puteți crea singur dacă știți cum funcționează.

9. Găsiți numere de telefon folosind Grep

Puteți utiliza expresii regulate grep pentru filtrarea numerelor de telefon dintr-un fișier text. Rețineți că ar trebui să modificați modelul pentru a se potrivi tipului de numere de telefon de care aveți nevoie.

grep '\ (([0-9] \ {3 \}) \ | [0-9] \ {3 \} \) [-] \? [0-9] \ {3 \} [-] \? [0-9] \ {4 \} 'fișier test

Comanda menționată anterior filtrează numerele de telefon americane din zece cifre.

10. Găsiți adresele URL din fișierele sursă

Putem profita de puterea grep pentru listarea adreselor URL găsite în fișierele text. Comanda dată mai jos imprimă toate adresele URL prezente în fișier de testare.

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

Folosim din nou -E opțiune pentru expresii regulate extinse. Puteți utiliza, de asemenea, egrep comandă pentru a evita adăugarea acestui lucru.

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

Stăpânirea comenzii Grep Linux

Am prezentat câteva exemple utile ale comenzii grep Linux pentru rezolvarea problemelor din lumea reală. Deși aceste exemple ilustrează puterea grep pentru procesarea textului, va trebui să stăpâniți expresiile regulate dacă doriți să fiți extrem de productiv cu grep.

Uneori, utilizatorii Linux se lovesc de anumite situații în care nu își pot aminti diferitele opțiuni legate de o comandă. Sperăm că sistemul de operare Linux vă oferă modalități de a obține ajutor în linia de comandă pentru aproape fiecare utilitar de sistem.

E-mail
7 moduri de a obține ajutor pentru linia de comandă pe Linux

Toate comenzile esențiale pentru a afla despre comenzile Linux din linia de comandă

Citiți în continuare

Subiecte asemănătoare
  • Linux
  • Linux
  • Comenzi Linux
Despre autor
Rubaiat Hossain (15 articole publicate)

Rubaiat este un absolvent CS cu o pasiune puternică pentru open-source. În afară de faptul că este un veteran Unix, el se ocupă și de securitatea rețelelor, criptografie și programare funcțională. Este un colecționar avid de cărți second-hand și are o admirație nesfârșită pentru rockul clasic.

Mai multe de la Rubaiat Hossain

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletterului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Încă un pas…!

Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.

.