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.