Ve světě Linuxu G obecné R pravidelné E výraz P arser nebo grep je jedním z nejmocnějších příkazů používaných každým správcem Linuxu. S jeho pomocí byste měli být schopni prohledávat obsah souborů a také provádět vyhledávání ve výstupu příkazu:nejen to, ale mnohem více, o čem budeme diskutovat v tomto tutoriálu.
Použití příkazu GREP s příklady
V této příručce vás provedeme používáním příkazů a ukážeme vám několik užitečných a užitečných příkladů, které by vám měly ušetřit spoustu času. Tento tutoriál se provádí na počítači Ubuntu, ale příkaz funguje na všech distribucích Linuxu.
Instalace
Chcete-li začít používat příkaz, musíte nejprve zkontrolovat, zda je již ve vašem systému nainstalován. Pokud není nainstalován, spusťte v terminálu následující příkaz.
sudo apt install grep
Můžete zkontrolovat verzi příkazu a ujistit se, že je úspěšně nainstalován.
grep --version

Syntaxe
grep [option/s] [pattern] [file]
Kde může být [option/s]:
- -i –> slouží k zajištění vyhledávacího vzoru bez ohledu na rozlišování malých a velkých písmen.
- -c –> Náhled, počet shodných vzorů.
- -v –> vyberte neodpovídající řádky, které neobsahují daný vzor.
- -n –> Náhled čísla řádku.
Kde [vzor] je regulární výraz a [soubor] je soubor, který se chystáte prohledávat v jeho obsahu.
Příklady
Vytvoříme testovací soubor, který použijeme v příkladech našich případových scénářů.
vi grep_tuts

Vložte následující řádky do souboru grep_tuts:
Hi Guys, i am hend. And this is a tutorial file for the usage of the grep commad. The next 2 lines are empty lines. Hope You Will Enjoy This Tutorial. Bye.

Příklad 1. Hledání řetězce v jednom souboru.
grep "hend" grep_tuts

Příklad 2. Udělejme kopii ze souboru grep_tuts, kterou použijeme později.
cp grep_tuts grep_tuts2

Chcete-li nyní vyhledat konkrétní řetězec ve více souborech, použijte příkaz next.
grep "hend" grep_tuts grep_tuts2

Příklad 3. Hledání určitého řetězce v souboru bez ohledu na velikost písmen.
grep -i "tutorial" grep_tuts

Příklad 4. Hledání určitého vzoru v souboru bez ohledu na rozlišování malých a velkých písmen.
grep -i "the.*lines" grep_tuts
To znamená hledat jakékoli řádky začínající řetězcem „the“ a končící „řádky“. Kde * označuje nula nebo více znaků a volba -i je ignorovat velikost písmen „the“ a „lines“.

Ale v případě, že jste nepoužili volbu -i, nebude výsledek.
grep "the.*lines" grep_tuts

Příklad 5. Zobrazení dvou řádků za vzorem, který hledáte.
grep -A 2 "hend" grep_tuts

Příklad 6. Zobrazení jednoho řádku před vzorem, který hledáte.
grep -B 1 "hend" grep_tuts

Příklad 7. Chcete-li zobrazit jeden řádek kolem (nebo za a před) vzoru, který hledáte.
grep -C 1 "hend" grep_tuts

Příklad 8. Hledání určitého řetězce ve všech souborech, které existují v aktuálním adresáři.
grep -r "Enjoy" *

Příklad 9. Zobrazení všech řádků, které neobsahují daný řetězec.
grep -v -i -e "Enjoy" grep_tuts

Příklad 10. Zobrazení počtu všech řádků, které obsahují hledaný řetězec.
grep -c "this" grep_tuts

Příklad 11. Zobrazení počtu všech řádků, které obsahují hledaný řetězec, bez ohledu na rozlišení malých a velkých písmen.
grep -c -i "this" grep_tuts

Příklad 12. Zobrazení počtu neodpovídajících vzorů.
grep -v -c "this" grep_tuts

Příklad 13. Zobrazení všech názvů souborů, které obsahují hledaný řetězec.
grep -l "this" *

Příklad 14. Zobrazení počtu řádků.
grep -n "this" grep_tuts

Příklad 15. Prohledání výstupu určitého příkazu. Uveďte například seznam všech běžících procesů, které spouští uživatel „tuts“.
ps aux | grep tuts

To je vše o použití příkazu grep v Linuxu.