Thegrep>
ukaz v Unixu/Linuxu je zmogljivo orodje, ki se uporablja za iskanje in manipulacijo besedilnih vzorcev v datotekah. Njegovo ime izhaja iz ukaza ed (urejevalnik) g/re/p (globalno iskanje regularnega izraza in tiskanje ustreznih vrstic), ki odraža njegovo osnovno funkcionalnost.grep>
programerji, sistemski skrbniki in uporabniki pogosto uporabljajo zaradi svoje učinkovitosti in vsestranskosti pri obdelavi besedilnih podatkov. V tem članku bomo raziskali različne vidikegrep>
ukaz.
Kazalo
- Sintaksa ukaza grep v Unixu/Linuxu
- Možnosti, ki so na voljo v ukazu grep
- Praktični primer ukaza grep v Linuxu
- 1. Iskanje brez upoštevanja velikih in malih črk
- 2. Prikaz števila ujemanj z uporabo grep
- 3. Prikažite imena datotek, ki se ujemajo z vzorcem, z uporabo grep
- 4. Preverjanje celih besed v datoteki z uporabo grep
- 5. Prikaz samo ujemajočega se vzorca z uporabo grep
- 6. Pokaži številko vrstice med prikazom izhoda z uporabo grep -n
- 7. Obračanje ujemanja vzorca z uporabo grep
- 8. Ujemanje vrstic, ki se začnejo z nizom, z uporabo grep
- 9. Ujemanje vrstic, ki se končajo z nizom, z uporabo grep
- 10.Določi izraz z možnostjo -e
- 11. -f možnost datoteke Vzame vzorce iz datoteke, enega na vrstico
- 12. Natisnite n določenih vrstic iz datoteke z uporabo grep
- 13. Rekurzivno poiščite vzorec v imeniku
Sintaksa ukaza grep v Unixu/Linuxu
Osnovna sintaksa ` grep`>
ukaz je naslednji:
grep [options] pattern [files]>
tukaj,
[>
options>
]>
: To so zastavice ukazne vrstice, ki spreminjajo vedenjegrep>
.
[>
pattern>
]>
: To je regularni izraz, ki ga želite iskati.
[>
file>
]>
: To je ime datotek, v katerih želite iskati. Določite lahko več datotek za sočasno iskanje.
Možnosti, ki so na voljo v ukazu grep
Opcije | Opis |
---|---|
-c | To natisne le število vrstic, ki se ujemajo z vzorcem |
-h | Prikaži ujemajoče se vrstice, vendar ne prikaži imen datotek. |
– jaz | Ignorira, velika črka za ujemanje |
-l | Prikaže samo seznam imen datotek. |
-n | Prikažite ujemajoče se vrstice in njihove številke vrstic. |
-in | To natisne vse črte, ki se ne ujemajo z vzorcem |
-e eksp | Podaja izraz s to možnostjo. Lahko se uporablja večkrat. |
-f datoteka | Vzame vzorce iz datoteke, enega na vrstico. |
-IN | Obravnava vzorec kot razširjen regularni izraz (ERE) |
-Noter | Poveži celotno besedo |
-O | Natisnite samo ujemajoče se dele ujemajoče se vrstice, pri čemer je vsak tak del v ločeni izhodni vrstici. |
-A n | Natisne iskano vrstico in n vrstic za rezultatom. |
-B n | Natisne iskano vrstico in n vrstico pred rezultatom. |
-C n | Natisne iskano vrstico in n vrstic pred rezultatom. |
Primeri ukazov
Spodnjo datoteko upoštevajte kot vhod.
cat>geekfile.txt>
unix je odličen OS. Unix je bil razvit v Bell Labs.
naučite se operacijskega sistema.
Unix linux katerega izberete.
uNix je enostaven za učenje. unix je večuporabniški OS. Naučite se unixa. unix je močan.
Praktični primer ukaza grep v Linuxu
1. Iskanje brez upoštevanja velikih in malih črk
Možnost -i omogoča neobčutljivo iskanje po nizu v dani datoteki. Ujema se z besedami, kot so UNIX, Unix, unix.
grep -i 'UNix' geekfile.txt>
Izhod:

Iskanje brez upoštevanja velikih in malih črk
2. Prikaz števila ujemanj z uporabo grep
Najdemo lahko število vrstic, ki ustreza danemu nizu/vzorcu
java niz v celo število
grep -c 'unix' geekfile.txt>
Izhod:

Prikaz števila zadetkov
3. Prikažite imena datotek, ki se ujemajo z vzorcem, z uporabo grep
Lahko samo prikažemo datoteke, ki vsebujejo dani niz/vzorec.
grep -l 'unix' *>
oz
grep -l 'unix' f1.txt f2.txt f3.xt f4.txt>
Izhod:

Ime datoteke, ki se ujema z vzorcem
4. Preverjanje celih besed v datoteki z uporabo grep
Grep se privzeto ujema z danim nizom/vzorcem, tudi če je najden kot podniz v datoteki. Možnost -w za grep omogoča, da se ujema samo s celimi besedami.
grep -w 'unix' geekfile.txt>
Izhod:

preverjanje celih besed v datoteki
5. Prikaz samo ujemajočega se vzorca z uporabo grep
Privzeto grep prikaže celotno vrstico, ki vsebuje ujemajoči se niz. Grep lahko naredimo tako, da prikaže samo ujemajoči se niz z uporabo možnosti -o.
grep -o 'unix' geekfile.txt>
Izhod:

Prikaz le ujemajočega se vzorca
6. Pokaži številko vrstice med prikazom izhoda z uporabo grep -n
Za prikaz številke vrstice datoteke z ujemajočo se vrstico.
grep -n 'unix' geekfile.txt>
Izhod:

Pokaži številko vrstice med prikazom izhoda
7. Obračanje ujemanja vzorca z uporabo grep
Z možnostjo -v lahko prikažete vrstice, ki se ne ujemajo z navedenim vzorcem iskalnega niza.
grep -v 'unix' geekfile.txt>
Izhod:

Obračanje ujemanja vzorca
8. Ujemanje vrstic, ki se začnejo z nizom, z uporabo grep
Vzorec regularnega izraza ^ določa začetek vrstice. To lahko uporabite v grep za ujemanje vrstic, ki se začnejo z danim nizom ali vzorcem.
grep '^unix' geekfile.txt>
Izhod:

Ujemanje vrstic, ki se začnejo z nizom
9. Ujemanje vrstic, ki se končajo z nizom, z uporabo grep
Vzorec regularnega izraza $ določa konec vrstice. To lahko uporabite v grep za ujemanje vrstic, ki se končajo z danim nizom ali vzorcem.
grep 'os$' geekfile.txt>
10.Določi izraz z možnostjo -e
Lahko se uporablja večkrat:
grep –e 'Agarwal' –e 'Aggarwal' –e 'Agrawal' geekfile.txt>
11. -f možnost datoteke Vzame vzorce iz datoteke, enega na vrstico
cat pattern.txt>
Agarwal
Aggarwal
Agrawal
grep –f pattern.txt geekfile.txt>
12. Natisnite n določenih vrstic iz datoteke z uporabo grep
-A natisne iskano vrstico in n vrstic za rezultatom, -B natisne iskano vrstico in n vrstic pred rezultatom in -C natisne iskano vrstico in n vrstic za in pred rezultatom.
Sintaksa:
grep -A[NumberOfLines(n)] [search] [file] grep -B[NumberOfLines(n)] [search] [file] grep -C[NumberOfLines(n)] [search] [file]>
primer:
grep -A1 learn geekfile.txt>
Izhod:

Natisnite n določenih vrstic iz datoteke
13. Rekurzivno poiščite vzorec v D imenik
-R natisne iskani vzorec v danem imeniku rekurzivno v vse datoteke.
Sintaksa:
grep -R [Search] [directory]>
Primer:
grep -iR geeks /home/geeks>
Izhod:
./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.>
Zaključek
V tem članku smo razpravljali ogrep>
ukaz v Linuxu, ki je zmogljivo orodje za iskanje besedila, ki uporablja regularne izraze za iskanje vzorcev ali besedila v datotekah. Ponuja različne možnosti, kot so neobčutljivost na velike in male črke, štetje ujemanj in seznam imen datotek. Z možnostjo rekurzivnega iskanja, uporabe zastavic regularnih izrazov in prilagajanja izpisa,grep>
je bistveno orodje za uporabnike Linuxa za učinkovito reševanje nalog, povezanih z besedilom. Obvladovanjegrep>
izboljša vašo sposobnost dela z besedilnimi podatki v okolju Linux.