GNU/Linux >> Znalost Linux >  >> Linux

Použití příkazu grep v Linuxu

Co je grep?

Nástroj grep, kterého se dnes dočkáme, je unixový nástroj, který patří do stejné rodiny jako nástroje egrep a fgrep. Toto jsou všechny unixové nástroje navržené pro provádění úlohy opakovaného vyhledávání ve vašich souborech a textu. Můžete vyhledávat soubory a jejich obsah pro získání užitečných informací zadáním konkrétních vyhledávacích kritérií pomocí příkazu grep.

Takže říkají, že GREP znamená Global Regular Expression Print, ale odkud pochází tento příkaz „grep“? grep v podstatě vychází ze specifického příkazu pro velmi jednoduchý a úctyhodný unixový textový editor s názvem ed. Takto probíhá příkaz ed:

g/re/p

Účel příkazu je velmi podobný tomu, co máme na mysli prohledáváním grep. Tento příkaz načte všechny řádky v souboru odpovídající určitému textovému vzoru.

Pojďme prozkoumat příkaz grep více. V tomto článku vysvětlíme instalaci nástroje grep a uvedeme několik příkladů, pomocí kterých se můžete přesně naučit, jak a v jakém scénáři jej můžete používat.

Spustili jsme příkazy a postupy uvedené v tomto článku na systému Ubuntu 18.04 LTS.

Nainstalovat grep

Ačkoli je nástroj grep standardně dodáván s většinou systémů Linux, pokud jej nemáte nainstalovaný v systému, zde je postup:

Otevřete svůj terminál Ubuntu buď pomocí Dash nebo zkratky Ctrl+Alt+T. Poté zadejte následující příkaz jako root, abyste mohli nainstalovat grep přes apt-get:

$ sudo apt-get install grep

Zadejte y, když se zobrazí výzva s možností y/n během instalační procedury. Poté bude na váš systém nainstalován obslužný program grep.

Instalaci můžete ověřit kontrolou verze grep pomocí následujícího příkazu:

$ grep --version

Použití příkazu grep s příklady

Příkaz grep lze nejlépe vysvětlit předložením některých scénářů, kde jej lze použít. Zde je několik příkladů:

Vyhledat soubory

Pokud chcete vyhledat název souboru, který obsahuje konkrétní klíčové slovo, můžete seznam souborů filtrovat pomocí příkazu grep takto:

Syntaxe:

$ ls -l | grep -i “ hledané slovo

Příklady:

$ ls -l | grep -i sample

Tento příkaz zobrazí seznam všech souborů v aktuálním adresáři s názvem souboru obsahujícím slovo „private“.

Vyhledat řetězec v souboru

Větu ze souboru, který obsahuje konkrétní řetězec textu, můžete načíst pomocí příkazu grep.

Syntaxe:

grep „řetězcový“ název souboru

Příklad:

$ grep “sample file” sampleFile.txt

Můj ukázkový soubor sampleFile.txt obsahuje větu s řetězcem „sample file“, který můžete vidět ve výše uvedeném výstupu. Klíčové slovo a řetězec se ve výsledcích vyhledávání zobrazí v barevné podobě.

Vyhledejte řetězec ve více než jednom souboru

V případě, že chcete hledat věty obsahující váš textový řetězec ze všech souborů stejného typu, je vám k službám příkaz grep.

Syntaxe 1:

$ grep „řetězec“ název_souboruKlíčové slovo*

Syntaxe 2:

$ grep “string” *.přípona

Příklad1:

$ grep "sample file” sample*

Tento příkaz načte všechny věty obsahující řetězec „sample file“ ze všech souborů s názvem souboru obsahujícím klíčové slovo „sample“.

Příklad 2:

$ grep "sample file” *.txt

Tento příkaz načte všechny věty obsahující řetězec „sample file“ ze všech souborů s příponou .txt.

Vyhledejte řetězec v souboru bez zohlednění velikosti řetězce

Ve výše uvedených příkladech byl můj textový řetězec naštěstí ve stejném případě jako řetězec nalezený v mých ukázkových textových souborech. Pokud bych zadal následující příkaz, můj výsledek hledání by byl nulový, protože text v mém souboru nezačíná velkým slovem „Ukázka“

$ grep "Sample file" *.txt

Řekněme grep, aby ignoroval velká a malá písmena ve vyhledávacím řetězci a vytiskl výsledky vyhledávání na základě řetězce pomocí volby -i.

Syntaxe:

$ grep -i „řetězec“ název_souboru

Příklad:

$ grep -i "Sample file" *.txt

Tento příkaz načte všechny věty obsahující řetězec „sample file“ ze všech souborů s příponou .txt. Toto nebude brát v úvahu, zda byl hledaný řetězec napsán velkými nebo malými písmeny.

Vyhledávání na základě regulárního výrazu

Pomocí příkazu grep můžete určit regulární výraz s klíčovým slovem začátek a konec. Výstupem bude věta obsahující celý výraz mezi vámi zadaným počátečním a koncovým klíčovým slovem. Tato funkce je velmi výkonná, protože do příkazu vyhledávání nemusíte psát celý výraz.

Syntaxe:

$ grep název souboru „startingKeyword.*endingKeyword“

Příklad:

$ grep "starting.*.ending" sampleFile.txt

Tento příkaz vytiskne větu obsahující výraz (začínající od mého počátečního klíčového slova a končící u mého koncového klíčového slova) ze souboru, který jsem zadal v příkazu grep.

Zobrazení zadaného počtu řádků za/před vyhledávacím řetězcem

Příkaz grep můžete použít k vytištění N počtu řádků před/za hledaným řetězcem ze souboru. Výsledek hledání také obsahuje řádek textu obsahující hledaný řetězec.

Syntaxe pro N počet řádků za řetězcem klíče:

$ grep -A „řetězcový“ název souboru

Příklad:

$ grep -A 3 -i "samplestring" sampleFile.txt

Můj ukázkový textový soubor vypadá takto:

A takto vypadá výstup příkazu:

Zobrazí 3 řádky, včetně toho, který obsahuje hledaný řetězec, ze souboru, který jsem zadal v příkazu grep.

Syntaxe pro N počet řádků před klíčovým řetězcem:

$ grep -B „řetězcový“ název souboru

Můžete také vyhledat N počet řádků „kolem“ textového řetězce. To znamená N počet řádků před a N za textovým řetězcem.

Syntaxe pro N počet řádků kolem klíčového řetězce:

$ grep -C „řetězcový“ název souboru

Pomocí jednoduchých příkladů popsaných v tomto článku můžete ovládat příkaz grep. Poté jej můžete použít k vyhledávání filtrovaných výsledků, které mohou zahrnovat soubory nebo obsah souboru. To ušetří spoustu času, který jste strávili procházením celých výsledků vyhledávání, než jste zvládli příkaz grep.


Linux
  1. Jak používat Linuxový příkaz grep

  2. Jak používat příkaz historie v Linuxu

  3. Použijte příkaz Linux grep

  1. Jak používat příkaz sudo v Linuxu

  2. Jak používat příkaz id v Linuxu

  3. Jak používat příkaz „screen“ v Linuxu

  1. Jak používat příkaz historie Linuxu

  2. Jak používat příkaz xargs pro Linux

  3. Jak používat Linuxový příkaz tee