10 Exemple practice ale comenzii Linux Grep

10 Exemple practice ale comenzii Linux Grep

Comanda grep oferă acces la utilitarul grep, un puternic instrument 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.





click stânga mouse-ul nu funcționează corect
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. Găsiți text în fișiere

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





grep 'email' test-file

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 'example' /usr/share/dict/american-english /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 exacte

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 'string' test-file

The -în 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ă.





Related: Cum Grep și-a luat numele? 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 'this' test-file

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

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

The -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 ~/Music | 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 utilă în special pentru depanarea codurilor sursă și depanarea fișierelor jurnal. Pentru a afișa toate numerele pentru linii în ~ / .vimrc care sunt utilizate 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ă cu toate MP3 fișiere prezente în ~ / Muzică director:

ls ~/Music/ | 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.

cum să forțezi închiderea unei aplicații pe Windows
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:

gzip test-file

Acum, puteți căuta text sau alte modele în arhiva rezultată.

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,}' test-file

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 numerele 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}' test-file

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 tipărește toate adresele URL prezente în fișier de testare .

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

Folosim din nou -ȘI 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-file

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.

Acțiune Acțiune Tweet 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(39 articole publicate)

Rubaiat este un absolvent de 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ă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

cum să reveniți la vechiul format Gmail
Faceți clic aici pentru a vă abona