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 LinuxToate 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
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 HossainAboneaza-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 GmailFaceți clic aici pentru a vă abona