Grep Command Cheat Sheet s príkladmi [Stiahnutie PDF zadarmo]


Tu je niekoľko praktických a bežných prípadov použitia príkazu grep. Môžete si tiež stiahnuť cheat sheet pre rýchlu orientáciu.

Grep je výkonný príkaz UNIX, ktorý vám umožňuje vyhľadávať v obsahu súboru podľa rôznych parametrov. Je to užitočné najmä pri riešení problémov alebo ladení.

Príkaz grep má obrovské množstvo možností a prípadov použitia. Pravdepodobne ich nikdy nebudete potrebovať ani používať všetky. Väčšinu času však skončíte s používaním niekoľkých príkazov grep.

Tento článok obsahuje zoznam najbežnejších príkazov grep s rýchlymi príkladmi. Linux Handbook už obsahuje podrobný článok o grep, takže tu nebudem zachádzať do hĺbky. Uvediem tu len bežné možnosti a ich vysvetlenie.

Je dobré, ak už poznáte príkaz grep, ale stále zabúdate, ktorá možnosť čo robí.

Option Command Example Description
i grep -i pattern file Case insensitive search
A grep -A n pattern file Show n lines after the match
B grep -B n pattern file Show n lines before the match
C grep -C n pattern file Show n lines before and after the match
v grep -v pattern file Show lines that do not match
c grep -c pattern file Count number of matching lines
l grep -l pattern file Display only the file names
w grep -w pattern file Match the exact word
e grep -e regex file Match the regex pattern
a grep -a pattern file Search into binary files
r grep -r pattern dir Recursively search into directory

Priložil som cheatsheet vo formáte PDF, ktorý si môžete stiahnuť, vytlačiť a nechať na stole.

Rýchle príklady príkazu Grep

Pravdepodobne už viete, že ak chcete vyhľadať konkrétny text alebo vzor v súbore, musíte použiť grep takto:

grep search_pattern filename

Pozrime sa na niekoľko bežných prípadov použitia príkazu grep.

Vyhľadávanie bez rozlišovania malých a veľkých písmen

V predvolenom nastavení vyhľadávanie pomocou grep rozlišuje veľké a malé písmená. Pomocou možnosti -i môžete priraďovanie malých a veľkých písmen ignorovať:

grep -i search_pattern filename

Týmto spôsobom grep vráti riadky, ktoré sa zhodujú s Holmes aj holmes.

Zobraziť riadky pred a za zodpovedajúcimi riadkami

V predvolenom nastavení vidíte iba zodpovedajúce riadky. Ale keď niečo riešite, pomôže vám vidieť pár riadkov pred a/alebo za zodpovedajúcimi riadkami.

Môžete použiť -A na zobrazenie riadkov za zodpovedajúcimi. Pamätajte, že A je pre Po.

Príkaz nižšie zobrazí zodpovedajúce riadky spolu s 5 riadkami po zhode.

grep -A 5 search_pattern filename

Podobne môžete použiť možnosť -B na zobrazenie riadkov pred zodpovedajúcimi. Pamätajte, že B je pre Predtým.

Príkaz nižšie zobrazí 5 riadkov pred zodpovedajúcimi spolu so zodpovedajúcimi riadkami.

grep -B 5 search_pattern filename

Moja obľúbená je možnosť -C, pretože zobrazuje riadky, ktoré sú pred a za zodpovedajúcimi. Pamätajte, že C tu znamená kruh.

Príkaz nižšie zobrazí 5 riadkov pred zodpovedajúcim riadkom, zodpovedajúci riadok a 5 riadkov za zodpovedajúcim riadkom.

grep -C 5 search_pattern filename

Ukážte riadky, ktoré sa nezhodujú

Pomocou grep môžete zobraziť všetky riadky, ktoré sa nezhodujú s daným vzorom. Toto „invertovať párovanie“ sa používa s voľbou -v:

grep -v search_pattern filename

Môžete kombinovať voľby -i a -v.

Spočítajte počet zodpovedajúcich riadkov

Namiesto zobrazenia zodpovedajúcich riadkov môžete pomocou možnosti -c zistiť, koľko riadkov sa zhoduje so vzorom. Toto je malé písmeno c.

grep -c search_pattern filename

Môžete skombinovať voľby -c a -v a získať tak počet riadkov, ktoré nezodpovedajú danému vzoru. Môžete samozrejme použiť možnosť bez rozlišovania malých a veľkých písmen -i.

Zobraziť čísla riadkov zodpovedajúcich riadkov

Ak chcete zobraziť čísla riadkov zodpovedajúcich riadkov, môžete použiť možnosť -n.

grep -n search_pattern filename

To isté môžete urobiť s obráteným vyhľadávaním.

Vyhľadávajte vo viacerých súboroch

Môžete poskytnúť viac ako jeden súbor na vyhľadávanie.

grep search_pattern file1 file2

To by mohlo fungovať, ale praktickejším príkladom je vyhľadávanie v konkrétnom type súborov. Napríklad, ak chcete hľadať reťazec iba v skriptoch shellu (súbory končiace na .sh), môžete použiť:

grep search_pattern *.sh

Rekurzívne vyhľadajte všetky súbory v adresári

Môžete vykonať rekurzívne vyhľadávanie pomocou voľby grep -r. Vyhľadá daný vzor vo všetkých súboroch v aktuálnom adresári a jeho podadresároch.

grep -r search_pattern directory_path

Zobrazte iba názvy súborov

V predvolenom nastavení grep zobrazuje zodpovedajúce riadky. Ak ste spustili vyhľadávanie vo viacerých súboroch a chcete len vidieť, ktoré súbory obsahujú reťazec, môžete použiť možnosť -l.

grep -l search_pattern files_pattern

Povedzme, že chcete vidieť, ktoré súbory Markdown obsahujú slovo „príručka“, môžete použiť:

grep -l handbook *.md

Vyhľadajte iba celé slovo

V predvolenom nastavení grep zobrazí všetky riadky, ktoré obsahujú daný reťazec. Možno to nie vždy chcete. Ak hľadáte slovo „hotovo“, zobrazia sa aj riadky, ktoré obsahujú slová „doner“ alebo „opustené“.

Ak chcete, aby grep hľadal iba celé slovo, môžete použiť možnosť -w:

grep -w search_string file

Týmto spôsobom, ak hľadáte slovo „hotovo“, zobrazia sa iba riadky obsahujúce „hotovo“, nie „doner“ alebo „opustené“.

Vyhľadajte vzory regulárnych výrazov

Svoje vyhľadávanie môžete zdokonaliť pomocou vzoru regulárneho výrazu. Existuje špeciálna možnosť -e, ktorá umožňuje použitie vzoru regulárneho výrazu, a možnosť -E, ktorá umožňuje použitie rozšírených vzorov regulárneho výrazu.

grep -e regex_pattern file

Hľadajte ten či onen vzor

V tom istom vyhľadávaní grep môžete hľadať viacero vzorov. Ak chcete vidieť riadky, ktoré obsahujú jeden alebo druhý vzor, môžete použiť operátor OR |. Tento špeciálny znak však musíte opustiť nasledujúcim spôsobom.

grep 'pattern1\|pattern' filename

Pomocou operátora OR môžete použiť viacero vzorov.

Pre operátor AND neexistuje žiadna špecifická možnosť. Na to môžete použiť grep viackrát s presmerovaním potrubia.

Vyhľadajte binárne súbory

Grep štandardne ignoruje binárne súbory. Pomocou voľby -a môžete vyhľadávať v binárnych súboroch, ako keby to bol textový súbor.

grep -a pattern binary_file

Stiahnite si cheat sheet príkazov Grep

Túto stránku si môžete uložiť ako záložku, aby ste mohli rýchlo odkazovať na možnosti príkazu grep a prípady použitia.

Môžete si tiež stiahnuť tento cheatsheet grep vo formáte PDF, vytlačiť si ho a mať ho na stole, aby ste si ho mohli rýchlo pozrieť bez straty času.

Dajte mi vedieť, ak máte nejaký iný bežný prípad použitia grep, ktorý by ste chceli vidieť na tejto stránke.