Grep - căutare în linux, exemple - ajutor debian

1. Un pic despre grep

Comanda grep (imprimare globală regulată) rămâne una dintre cele mai versatile comenzi din mediul liniei de comandă Linux. Acest lucru se datorează faptului că grep este un utilitar extrem de puternic, care oferă utilizatorilor posibilitatea de a sorta intrări bazate pe reguli complexe, făcându-l astfel un link popular în conducta de comandă. Grep este folosit în principal pentru a găsi text atât în ​​datele de intrare pentru intrarea standard, cât și în fișierele specificate pentru liniile subiect care conțin cuvintele sau substring-urile specificate.







2. Sintaxa de bază a comenzii grep

Mai jos sunt exemple de utilizare a grepului cu sintaxa de bază:

3. Cum să utilizați grep pentru a căuta fișiere

Să încercăm să găsim utilizatorul "vasya" în fișierul passwd. Pentru a căuta fișierul / etc / passwd pentru informații despre utilizator pentru "vasya", utilizați următoarea comandă:

Putem cere, de asemenea, grep pentru a căuta ignorarea capitalizare, adică, fără a face o distincție între litere mari și mici. Pentru aceasta, utilizați opțiunea -i, după cum se arată mai jos:

4. Utilizarea recursivă a grepului

Dacă aveți un număr mare de fișiere de text într-un număr de directoare și subdirectoare, de exemplu, fișierele de configurare apache în / etc / apache2 și doriți să găsiți un fișier care conține un anumit text, este necesar să se folosească opțiunea -r pentru a pune în aplicare o căutare recursiv. Căutarea va fi efectuată pe toate fișierele din ierarhia directoarelor:

De asemenea, puteți utiliza acest parametru în majuscule. Adică, puteți scrie -R. Diferența constă în faptul că atunci când folosiți -r, legăturile simbolice nu sunt procesate, iar atunci când se utilizează -R, o face. Exemplu de utilizare:







/etc/apache2/sites-available/debian-help.ru: ServerName debian-help.ru /etc/apache2/sites-available/debian-help.ru: www.debian-help.ru server:

După cum se poate observa din rezultatul este numele fișierului în care a fost găsit șirul și șirul în sine. Includerea în numele de fișiere de ieșire poate fi ușor suprimată de către parametrul -h, după cum se arată mai jos:

ServerName debian-help.ru ServerAlias ​​www.debian-help.ru

5. Folosiți grep pentru a căuta numai cuvintele întregi

Când sunteți în căutarea pentru QWE, grep va selecta toate aparițiile combinației, de exemplu, qwerty, qwe123, 345qwerty și multe alte combinații. Puteți specifica că grep selectează numai liniile care conțin includerea exactă ca cuvânt întreg. Pentru aceasta, utilizați opțiunea -w:

6. Cum să căutați mai multe cuvinte diferite

Pentru a căuta două sau mai multe cuvinte diferite, puteți folosi comanda egrep după cum urmează:

Fie o opțiune cu doar grep:

7. Numărarea numărului de linii care conțin un eveniment

grep vă poate spune câte linii conțin combinația specificată. Pentru a face acest lucru, utilizați opțiunea -c (număr):

În plus, puteți utiliza opțiunea de a face printuri -n grep numărul liniei în fișier, în care a fost găsit comutatorul:

8. Inversați căutarea

grep vă permite să căutați pe dimpotrivă, adică, toate liniile sunt afișate, în plus față de apariția unui anumit cuvânt și este utilizat pentru această opțiune -v:

Puteți exclude ceva din ieșirea căutării prin aplicarea conductei:

9. Cum se afișează numai numele de fișiere în care există un cuvânt de includere

Pentru a imprima numai numele de fișiere, utilizați opțiunea -l, de exemplu:

10. Găsiți toate fișierele care conțin un cuvânt în toate fișierele și subdirectoarele

Dacă aveți nevoie pentru a căuta un cuvânt în toate formele sale, în toate fișierele din acest director și toate cuprinse în ea, de asemenea, apoi utilizați o combinație a parametrilor descriși mai sus:

11. Afișarea liniilor înainte și după descoperirea evenimentului

Pentru a iesi mai multe linii, parametrii -A sunt folositi inainte de a intra, iar dupa conducerea lui -B.

De exemplu, pentru a imprima 5 linii înainte și 10 după ce a apărut evenimentul, utilizați comanda:







Articole similare

Trimiteți-le prietenilor: