príkaz grep v systéme Unix/Linux
The grep> príkaz v Unix/Linux je výkonný nástroj používaný na vyhľadávanie a manipuláciu s textovými vzormi v súboroch. Jeho názov je odvodený od ed (editorského) príkazu g/re/p (globálne vyhľadať regulárny výraz a vytlačiť zhodné riadky), čo odráža jeho základnú funkčnosť. grep> je široko používaný programátormi, systémovými administrátormi a používateľmi pre jeho efektívnosť a všestrannosť pri práci s textovými údajmi. V tomto článku preskúmame rôzne aspekty grep> príkaz.
Obsah
- Syntax príkazu grep v systéme Unix/Linux
- Možnosti dostupné v príkaze grep
- Praktický príklad príkazu grep v Linuxe
- 1. Vyhľadávanie bez rozlišovania malých a veľkých písmen
- 2. Zobrazenie počtu zhôd pomocou grep
- 3. Zobrazte názvy súborov, ktoré sa zhodujú so vzorom pomocou grep
- 4. Kontrola celých slov v súbore pomocou grep
- 5. Zobrazenie len zhodného vzoru Pomocou grep
- 6. Zobrazte číslo riadku pri zobrazení výstupu pomocou grep -n
- 7. Invertovanie zhody vzoru pomocou grep
- 8. Priraďovanie riadkov, ktoré začínajú reťazcom pomocou grep
- 9. Priraďovanie riadkov končiacich reťazcom pomocou grep
- 10. Určuje výraz s voľbou -e
- 11. Voľba -f súbor Preberá vzory zo súboru, jeden na riadok
- 12. Tlač n konkrétnych riadkov zo súboru pomocou grep
- 13. Rekurzívne vyhľadajte vzor v adresári
Syntax príkazu grep v systéme Unix/Linux
Základná syntax ` grep`> príkaz je nasledovný:
grep [options] pattern [files]
Tu,
[> options> ]> : Toto sú príznaky príkazového riadku, ktoré upravujú správanie grep> .
[> pattern> ]> : Toto je regulárny výraz, ktorý chcete vyhľadať.
[> file> ]> : Toto je názov súboru (súborov), v ktorých chcete hľadať. Môžete zadať viacero súborov na súčasné vyhľadávanie.
Možnosti dostupné v príkaze grep
| možnosti | Popis |
|---|---|
| -c | Týmto sa vytlačí iba počet riadkov, ktoré zodpovedajú vzoru |
| -h | Zobrazte zhodné riadky, ale nezobrazte názvy súborov. |
| – i | Ignoruje, prípad zhody |
| -l | Zobrazí iba zoznam názvov súborov. |
| -n | Zobrazte zhodné riadky a ich čísla riadkov. |
| -v | Tým sa vytlačia všetky čiary, ktoré sa nezhodujú so vzorom |
| -e exp | Určuje výraz s touto voľbou. Možno použiť viackrát. |
| -f súbor | Preberá vzory zo súboru, jeden na riadok. |
| -A | Považuje vzor za rozšírený regulárny výraz (ERE) |
| -In | Zhoda celého slova |
| -O | Vytlačte len zhodné časti zodpovedajúceho riadku, pričom každá takáto časť je na samostatnom výstupnom riadku. |
| -A n | Po výsledku vytlačí hľadaný riadok a nriadky. |
| -B n | Vytlačí hľadaný riadok a n riadok pred výsledkom. |
| -C n | Vytlačí hľadaný riadok a n riadkov pred výsledkom. |
Vzorové príkazy
Zvážte nižšie uvedený súbor ako vstup.
cat>geekfile.txt
unix je skvelý operačný systém. unix bol vyvinutý v Bellových laboratóriách.
naučiť sa operačný systém.
Unix linux, ktorý si vyberiete.
uNix je ľahké sa naučiť.unix je viacpoužívateľský operačný systém.Learn unix .unix je výkonný.
Praktický príklad príkazu grep v Linuxe
1. Vyhľadávanie bez rozlišovania malých a veľkých písmen
Voľba -i umožňuje v danom súbore necitlivo vyhľadať veľkosť písmen. Zhoduje sa so slovami ako UNIX, Unix, unix.
grep -i 'UNix' geekfile.txt
Výkon:
Vyhľadávanie bez rozlišovania malých a veľkých písmen
2. Zobrazenie počtu zhôd pomocou grep
Môžeme nájsť počet riadkov, ktoré zodpovedajú danému reťazcu/vzoru
grep -c 'unix' geekfile.txt
Výkon:
Zobrazuje počet zápasov
3. Zobrazte názvy súborov, ktoré sa zhodujú so vzorom pomocou grep
Môžeme len zobraziť súbory, ktoré obsahujú daný reťazec/vzor.
grep -l 'unix' *
alebo
grep -l 'unix' f1.txt f2.txt f3.xt f4.txt
Výkon:
Názov súboru, ktorý sa zhoduje so vzorom
4. Kontrola celých slov v súbore pomocou grep
Štandardne sa grep zhoduje s daným reťazcom/vzorom, aj keď sa v súbore nachádza ako podreťazec. Voľba -w pre grep spôsobí, že sa zhodujú iba celé slová.
grep -w 'unix' geekfile.txt
Výkon:
kontrola celých slov v súbore
5. Zobrazenie len zhodného vzoru Pomocou grep
V predvolenom nastavení grep zobrazuje celý riadok, ktorý má zhodný reťazec. Pomocou voľby -o môžeme dosiahnuť, aby grep zobrazoval iba zhodný reťazec.
grep -o 'unix' geekfile.txt
Výkon:
Zobrazuje sa len zodpovedajúci vzor
6. Zobrazte číslo riadku pri zobrazení výstupu pomocou grep -n
Ak chcete zobraziť číslo riadku súboru so zodpovedajúcim riadkom.
grep -n 'unix' geekfile.txt
Výkon:
Pri zobrazovaní výstupu zobraziť číslo riadku
7. Invertovanie zhody vzoru pomocou grep
Pomocou voľby -v môžete zobraziť riadky, ktoré sa nezhodujú so zadaným vzorom vyhľadávacieho reťazca.
grep -v 'unix' geekfile.txt
Výkon:
Invertovanie zhody vzoru
8. Priraďovanie riadkov, ktoré začínajú reťazcom pomocou grep
Vzor regulárneho výrazu ^ určuje začiatok riadku. Toto sa dá použiť v grep na priradenie riadkov, ktoré začínajú daným reťazcom alebo vzorom.
grep '^unix' geekfile.txt
Výkon:
Priraďovanie riadkov, ktoré začínajú reťazcom
9. Priraďovanie riadkov končiacich reťazcom pomocou grep
Vzor regulárneho výrazu $ určuje koniec riadku. Toto sa dá použiť v grep na priradenie čiar, ktoré končia daným reťazcom alebo vzorom.
grep 'os$' geekfile.txt
10. Určuje výraz s voľbou -e
Možno použiť viackrát:
grep –e 'Agarwal' –e 'Aggarwal' –e 'Agrawal' geekfile.txt
11. Voľba -f súbor Preberá vzory zo súboru, jeden na riadok
cat pattern.txt
Agarwal
Aggarwal
Agrawal
grep –f pattern.txt geekfile.txt
12. Tlač n konkrétnych riadkov zo súboru pomocou grep
-A vytlačí hľadaný riadok a n riadkov za výsledkom, -B vytlačí hľadaný riadok a n riadkov pred výsledkom a -C vytlačí hľadaný riadok a n riadkov za a pred výsledkom.
Syntax:
grep -A[NumberOfLines(n)] [search] [file] grep -B[NumberOfLines(n)] [search] [file] grep -C[NumberOfLines(n)] [search] [file]
Príklad:
grep -A1 learn geekfile.txt
Výkon:
Vytlačte n konkrétnych riadkov zo súboru
13. Rekurzívne vyhľadajte vzor v D zborovňa
-R vypíše hľadaný vzor v danom adresári rekurzívne vo všetkých súboroch.
Syntax:
grep -R [Search] [directory]
Príklad:
grep -iR geeks /home/geeks
Výkon:
./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.
Záver
V tomto článku sme diskutovali o grep> príkaz v systéme Linux, čo je výkonný nástroj na vyhľadávanie textu, ktorý používa regulárne výrazy na nájdenie vzorov alebo textu v súboroch. Ponúka rôzne možnosti, ako je nerozlišovanie malých a veľkých písmen, počítanie zhôd a zoznam názvov súborov. Vďaka možnosti rekurzívneho vyhľadávania, používania príznakov regulárneho výrazu a prispôsobenia výstupu, grep> je dôležitým nástrojom pre používateľov Linuxu na efektívne spracovanie úloh súvisiacich s textom. Mastering grep> zlepšuje vašu schopnosť pracovať s textovými údajmi v prostredí Linuxu.