logo

comandă grep în Unix/Linux

Thegrep>comanda în Unix/Linux este un instrument puternic folosit pentru căutarea și manipularea tiparelor de text din fișiere. Numele său este derivat din comanda ed (editor) g/re/p (căutați la nivel global o expresie regulată și tipăriți linii de potrivire), care reflectă funcționalitatea sa de bază.grep>este utilizat pe scară largă de către programatori, administratorii de sistem și utilizatori deopotrivă pentru eficiența și versatilitatea sa în manipularea datelor text. În acest articol, vom explora diferitele aspecte alegrep>comanda.

Cuprins

Sintaxa comenzii grep în Unix/Linux

Sintaxa de bază a ` grep`> comanda este următoarea:



  grep [options] pattern [files]>

Aici,

[> options> ]>: Acestea sunt steaguri de linie de comandă care modifică comportamentulgrep>.

[> pattern> ]>: Aceasta este expresia regulată pe care doriți să o căutați.

[> file> ]>: Acesta este numele fișierului (fișierelor) în care doriți să căutați. Puteți specifica mai multe fișiere pentru căutarea simultană.

Opțiuni disponibile în comanda grep

Opțiuni

Descriere

-c

Aceasta tipărește doar un număr de linii care se potrivesc cu un model

-h

Afișați liniile potrivite, dar nu afișați numele fișierelor.

i

Ignoră, caz pentru potrivire

-l

Afișează doar lista de nume de fișiere.

-n

Afișați liniile potrivite și numerele acestora.

-în

Se tipăresc toate liniile care nu se potrivesc cu modelul

-e exp

Specifică expresia cu această opțiune. Se poate folosi de mai multe ori.

-f fișier

Preia modele din fișier, unul pe linie.

-ȘI

Tratează modelul ca o expresie regulată extinsă (ERE)

șir în întreg java

-În

Potriviți cuvântul întreg

-O

Imprimați numai părțile potrivite ale unei linii de potrivire, fiecare astfel de părți pe o linie de ieșire separată.

-A n

Tipărește linia și liniile căutate după rezultat.

-B n

Tipărește linia căutată și linia n înainte de rezultat.

-C n

Tipărește linia căutată și n linii după, înainte de rezultat.

Exemple de comenzi

Luați în considerare fișierul de mai jos ca o intrare.

cat>geekfile.txt>>>  

Unix este un sistem de operare excelent. unix a fost dezvoltat în laboratoarele Bell.

invata sistemul de operare.

Unix Linux pe care îl alegeți.

unix este ușor de învățat.unix este un sistem de operare multiutilizator.Învățați unix.unix este un puternic.

Exemplu practic de comandă grep în Linux

Opțiunea -i permite căutarea unui șir fără majuscule și minuscule în fișierul dat. Se potrivește cu cuvinte precum UNIX, Unix, unix.

Ieșire:

Căutare fără majuscule

Căutare fără majuscule

2. Afișarea numărului de potriviri folosind grep

Putem găsi numărul de linii care se potrivește cu șirul/modelul dat

grep -c 'unix' geekfile.txt>

Ieșire:

Afișarea numărului de meciuri

Afișarea numărului de meciuri

3. Afișați numele fișierelor care se potrivesc cu modelul folosind grep

Putem afișa doar fișierele care conțin șirul/modelul dat.

grep -l 'unix' *>

sau

grep -l 'unix' f1.txt f2.txt f3.xt f4.txt>

Ieșire:

blocați o aplicație Android
Numele fișierului care se potrivește cu modelul

Numele fișierului care se potrivește cu modelul

4. Verificarea cuvintelor întregi într-un fișier folosind grep

În mod implicit, grep se potrivește cu șirul/modelul dat chiar dacă este găsit ca subșir într-un fișier. Opțiunea -w pentru grep face ca acesta să se potrivească numai cu cuvintele întregi.

grep -w 'unix' geekfile.txt>

Ieșire:

verificarea cuvintelor întregi dintr-un fișier

verificarea cuvintelor întregi dintr-un fișier

5. Afișarea numai a modelului potrivit Folosind grep

În mod implicit, grep afișează întreaga linie care are șirul potrivit. Putem face ca grep să afișeze doar șirul potrivit utilizând opțiunea -o.

grep -o 'unix' geekfile.txt>

Ieșire:

Se afișează numai modelul potrivit

Se afișează numai modelul potrivit

6. Afișați numărul de linie în timp ce afișați rezultatul folosind grep -n

Pentru a afișa numărul de linie al fișierului cu linia potrivită.

grep -n 'unix' geekfile.txt>

Ieșire:

Afișați numărul de linie în timp ce afișați rezultatul

Afișați numărul de linie în timp ce afișați rezultatul

7. Inversarea potrivirii modelului folosind grep

Puteți afișa liniile care nu se potrivesc cu modelul de șir de căutare specificat folosind opțiunea -v.

grep -v 'unix' geekfile.txt>

Ieșire:

Inversarea potrivirii modelului

Inversarea potrivirii modelului

8. Potrivirea liniilor care încep cu un șir folosind grep

Modelul expresiei regulate ^ specifică începutul unei linii. Acesta poate fi folosit în grep pentru a potrivi liniile care încep cu șirul sau modelul dat.

grep '^unix' geekfile.txt>

Ieșire:

Potrivirea liniilor care încep cu un șir

Potrivirea liniilor care încep cu un șir

9. Potrivirea liniilor care se termină cu un șir folosind grep

Modelul expresiei regulate $ specifică sfârșitul unei linii. Acesta poate fi folosit în grep pentru a potrivi liniile care se termină cu șirul sau modelul dat.

grep 'os$' geekfile.txt>

10.Specifică expresia cu opțiunea -e

Se poate folosi de mai multe ori:

grep –e 'Agarwal' –e 'Aggarwal' –e 'Agrawal' geekfile.txt>

11. Opțiunea -f fișier Preia modele din fișier, unul pe linie

cat pattern.txt>

Agarwal
Aggarwal
Agrawal

grep –f pattern.txt geekfile.txt>

12. Imprimați n linii specifice dintr-un fișier folosind grep

-A tipărește linia căutată și n linii după rezultat, -B tipărește linia căutată și n linii înaintea rezultatului și -C tipărește linia căutată și n linii după și înainte de rezultat.

Sintaxă:

grep -A[NumberOfLines(n)] [search] [file] grep -B[NumberOfLines(n)] [search] [file] grep -C[NumberOfLines(n)] [search] [file]>

Exemplu:

grep -A1 learn geekfile.txt>

Ieșire:

Tipăriți n linii specifice dintr-un fișier

Tipăriți n linii specifice dintr-un fișier

13. Căutați recursiv un model în D irectorie

-R tipărește tiparul căutat în directorul dat în mod recursiv în toate fișierele.

Sintaxă:

grep -R [Search] [directory]>

Exemplu:

grep -iR geeks /home/geeks>

Ieșire:

./geeks2.txt:Well Hello Geeks ./geeks1.txt:I am a big time geek ---------------------------------- -i to search for a string case insensitively -R to recursively check all the files in the directory.>

Concluzie

În acest articol am discutat despregrep>comandă în Linux, care este un instrument puternic de căutare a textului care utilizează expresii regulate pentru a găsi modele sau text în fișiere. Oferă diferite opțiuni, cum ar fi insensibilitatea majusculelor, numărarea potrivirilor și listarea numelor fișierelor. Cu capacitatea de a căuta recursiv, de a utiliza steaguri de expresii regulate și de a personaliza rezultatul,grep>este un instrument vital pentru utilizatorii Linux pentru a gestiona eficient sarcinile legate de text. Stăpânireagrep>vă îmbunătățește capacitatea de a lucra cu date text în mediul Linux.