grep

Príkaz grep systému Linux

Príkaz grep systému Linux
Grep je jedným z najprísnejších nástrojov, ktoré môžete mať k dispozícii. Tento obslužný program príkazového riadku vykonáva vyhľadávanie v súboroch údajov vo formáte obyčajného textu. Grep je vlastne skratka pre „globálne hľadať a regulárny expresia a pvytlačiť “. Spoločnosť Grep začala svoju cestu ako súčasť rodiny UNIX. Postupom času je teraz k dispozícii na všetkých populárnych platformách, ako sú Linux, Mac, BSD a dokonca aj Windows!

Už ste použili grep? Väčšinu práce dokáže väčšinou základný grep trik. Grep však ponúka veľa spôsobov, ako vykonať vyhľadávanie a doladiť výstup do použiteľnejšej verzie. V tomto článku sa pozrime na použitie príkazu grep.

Grep použitie

Overovanie existencie

Ak používate akýkoľvek druh distribúcie Linuxu, máte už nainštalovaný grep. Spustite nasledujúci príkaz v termináli.

grep - verzia

Tento príkaz sa používa na zobrazenie verzie aktuálne nainštalovaného grep. Teraz potrebujeme ukážkový súbor. V mojom prípade vygenerujem textový súbor, ktorý obsahuje všetky nainštalované balíčky v mojom systéme.

Základy

Základné použitie grepu má nasledujúcu štruktúru.

grep

Alebo pre ľahšie pochopenie použite tento.

grep -e -f

V takom prípade grep vykoná vyhľadávanie v súbore a vytlačí všetky riadky, ktoré obsahujú vzor (hľadaný výraz).

grep python ~ / Desktop / PackageList.TXT

Grep prehľadal súbor „PackageList.txt “Generoval som skôr a vytlačil všetky riadky, ktoré obsahujú„ python “.

Rovnakú operáciu je možné vykonať aj iným spôsobom. Skontrolujte nasledujúci príklad.

cat ~ / Desktop / PackageList.txt | grep python

Tu som pomocou príkazu „cat“ poslal obsah súboru „PackageList.txt “na grep. Pomocou výstupu cat vykonal grep vyhľadávanie a vytlačil riadky, ktoré obsahujú hľadaný výraz.

Teraz prichádza zábavná vec. Môžete doslova skladať viac príkazov grep presne tak.

cat ~ / Desktop / PackageList.txt | grep - | grep p | grep python

Prvý grep filtruje až po riadky so spojovníkom, druhý filter až po riadky s p a posledný grep filtruje až po riadky s pythonom. Dáva zmysel?

Rozlišovanie malých a veľkých písmen

Pri vyhľadávaní je hlavnou otázkou rozlišovanie malých a veľkých písmen. V predvolenom nastavení grep rozlišuje veľké a malé písmená.

Napríklad hľadanie výrazu „Python“ nezobrazí žiadny výsledok.

cat ~ / Desktop / PackageList.txt | grep Python

Ak chcete, aby grep nerozlišoval malé a veľké písmená, pridajte nasledujúcu možnosť.

cat ~ / Desktop / PackageList.txt | grep -i Python

Vyhľadávanie súborov

Povedzme, že máte adresár s početnými textovými súbormi. Vaším cieľom je identifikovať súbory, ktoré obsahujú alebo neobsahujú vzor (hľadaný výraz).

Považujem túto metódu za veľmi užitočnú pri hľadaní v hromade súborov denníka. Pretože nemám čas otvárať a kontrolovať každý jeden súbor manuálne, musím urobiť grep, aby vykonal prácu za mňa.

Na výpis súborov obsahujúcich zhodu použite príznak „-l“.

grep -l / search / adresár / *

Ako naznačuje výsledok, výraz „python“ je prítomný vo všetkých 3 súboroch nachádzajúcich sa v adresári „Desktop“.

Ak chcete zobraziť zoznam súborov bez akejkoľvek zhody, použite príznak „-L“.

grep -L / search / adresár / *

"Žiadna zhoda.txt “je jediný súbor, ktorý neobsahuje výraz„ python “.

Obrátené vyhľadávanie

Predvolené správanie grepu je tlačiť iba riadky so zhodným vzorom vpravo? Je čas obrátiť postup. Tentokrát budeme tlačiť iba riadky BEZ zodpovedajúceho vzoru.

Stačí odovzdať voľbu „-v“ na grep.

cat ~ / Desktop / PackageList.txt | grep -i -v Python

Tlač liniek pred / po zápase

V predvolenom nastavení grep vytlačí iba riadok, ktorý zodpovedá vzoru vyhľadávania. Pomocou tejto techniky môžete povedať, že grep má tlačiť riadky aj pred / po zápase.

Na tlač riadkov pred zápasom použite nasledujúcu štruktúru.

grep -B

5 je riadok čísla, ktorý grep vytlačí PRED zodpovedajúcim riadkom.

Na tlač riadkov po zhode použite nasledujúci.

grep -A

Čo tak tlačiť pred aj za zhodným riadkom? V takom prípade použite príznak „-C“.

grep -C

Poradové číslo

Keď grep zobrazuje výstup, neuvádza číslo riadku. Pre príslušné číslo (čísla) riadku použite príznak „-n“.

grep -n

Jedno slovo

Ak sa použije príznak „-w“, grep bude so vzorom zaobchádzať ako s celým slovom.

grep -w

Obmedzenie vyhľadávania grep

Grep umožňuje určiť počet riadkov, ktoré sa majú v súbore vyhľadať. Táto metóda je užitočná, ak pracujete s veľkým súborom (napríklad so systémovým protokolom). Použite príznak „-m“.

grep -m

Rekurzívne vyhľadávanie

Je to jedna z najužitočnejších funkcií, ktoré grep ponúka pre ťažké použitie. Grep môže rekurzívne prehľadávať adresár a nájsť všetky zhody zo všetkých súborov, ktorým čelí.

grep -R

Alebo,

grep -r

Často nachádzam použitie tejto rekurzívnej funkcie spolu s príznakom „-l“.

Tichý režim

Grep je možné spustiť v „tichom“ režime. Keď beží v „tichom“ režime, grep nevytlačí do terminálu žiadny výstup. Namiesto toho vráti 0 (aspoň bola nájdená zhoda) alebo 1 (žiadna zhoda nebola nájdená).

grep -q
echo $?

Regulárny výraz

Grep tiež umožňuje vyhľadávanie pomocou regulárneho výrazu (regulárny výraz). To dodáva úplne novú úroveň zložitosti a použiteľnosti grepu ako vyhľadávacieho nástroja.

Napríklad môžete použiť zátvorky na vyhľadanie výrazov „príliš“ aj „dva“ súčasne.

mačka ~ / Desktop / gpl-3.0.txt | grep t [wo] o

Tento nasledujúci príklad vytlačí riadok, iba ak dôjde k zhode na samom začiatku riadku.

grep ^ GNU ~ / Desktop / gpl-3.0.TXT

Čo sa týka zhody konca, použite tento.

pozdravím vás $ ~ / Desktop / gpl-3.0.TXT

Ak chcete použiť Perl regulárny výraz, použite príznak „-P“. Bude sa správať k vzoru ako k regulárnemu výrazu Perl.

grep -P

Záverečné myšlienky

Spoločnosť Grep ponúka množstvo spôsobov, ako prispôsobiť funkciu vyhľadávania. Dostupnosť regexu odomyká úplne nový horizont možného použitia grepu. Super je, že môžete použiť všeobecný aj Perl regulárny výraz; podľa toho, s čím sa budete cítiť pohodlne.

Najpodrobnejšie vysvetlenie nájdete vždy na manuálovej stránke.

muž grep

Na zdravie!

Hry Ako používať GameConqueror Cheat Engine v Linuxe
Ako používať GameConqueror Cheat Engine v Linuxe
Tento článok obsahuje sprievodcu používaním cheatovacieho modulu GameConqueror v systéme Linux. Mnoho používateľov, ktorí hrajú hry v systéme Windows,...
Hry Najlepšie emulátory herných konzol pre systém Linux
Najlepšie emulátory herných konzol pre systém Linux
V tomto článku je uvedený zoznam populárneho softvéru na emuláciu herných konzol, ktorý je k dispozícii pre systém Linux. Emulácia je vrstva kompatibi...
Hry Najlepšie linuxové distribúcie pre hry v roku 2021
Najlepšie linuxové distribúcie pre hry v roku 2021
Operačný systém Linux prešiel dlhou cestou od svojho originálneho, jednoduchého serverového vzhľadu. Tento OS sa za posledné roky nesmierne vylepšil a...