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
- Opțiuni disponibile în comanda grep
- Exemplu practic de comandă grep în Linux
- 1. Căutare fără majuscule
- 2. Afișarea numărului de potriviri folosind grep
- 3. Afișați numele fișierelor care se potrivesc cu modelul folosind grep
- 4. Verificarea cuvintelor întregi într-un fișier folosind grep
- 5. Afișarea numai a modelului potrivit Folosind grep
- 6. Afișați numărul de linie în timp ce afișați rezultatul folosind grep -n
- 7. Inversarea potrivirii modelului folosind grep
- 8. Potrivirea liniilor care încep cu un șir folosind grep
- 9. Potrivirea liniilor care se termină cu un șir folosind grep
- 10.Specifică expresia cu opțiunea -e
- 11. Opțiunea -f fișier Preia modele din fișier, unul pe linie
- 12. Imprimați n linii specifice dintr-un fișier folosind grep
- 13. Căutați recursiv un model în director
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
1. Căutare fără majuscule
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
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
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
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
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
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
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
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
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
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.