Servery založené na operačním systému Linux obvykle nemají z bezpečnostních důvodů žádné grafické rozhraní. V tomto případě je velmi důležité vědět a vědět, jak manipulovat s terminálem pomocí příkazů Linuxu.
Velmi užitečnou operací, kterou můžeme s terminálem provádět, je vyhledávání uvnitř textového souboru. Především, pokud pracujeme s konfiguračními soubory služeb jako NTP.
V tomto příspěvku vás naučíme, jak používat příkaz grep v Linuxu (Unix), a posílíme učení o užitečný příklad pro váš každodenní pracovní postup.
Jak používat příkaz grep?
Příkaz grep patřící do rodiny Unixů je jedním z nejuniverzálnějších a nejužitečnějších dostupných nástrojů. Hledá v textovém souboru vzor, který definujeme. Jinými slovy, pomocí grep můžete vyhledat slovo nebo vzor a řádek nebo řádky, které je obsahují, se vytisknou.
Na první pohled to může být příkaz malé utilitky, nicméně sysadmins, kteří obsluhují mnoho služeb s různými konfiguračními soubory, jej používají k dotazování nebo hledání konkrétních řádků v těchto souborech.
Nejprve se připojte k VPS pomocí SSH. Zde je článek, který ukazuje, jak to udělat pomocí PuTTY SSH.
ssh your-user@your-server
Pokud na svém počítači používáte Linux, stačí otevřít terminál.
Syntaxe příkazu grep při hledání jednoho souboru vypadá takto:
grep [options] pattern [FILE]
- grep – instrukce příkazu
- [možnosti] – modifikátory příkazu
- vzor – vyhledávací dotaz, který má být nalezen
- [SOUBOR] – soubor, ve kterém provádíte vyhledávání
Dokumentaci a vysvětlení různých možností zobrazíte spuštěním tohoto příkazu v příkazovém řádku:
grep –help
Jak vidíte, existuje mnoho možností, které nám příkaz nabízí. Nejdůležitější a běžně používané možnosti jsou však:
- -i – vyhledávání nebude rozlišovat malá a velká písmena. To znamená, že pokud chcete vyhledat slovo „auto“, bude to stejné jako „CAR“
- -c – zobrazí pouze počet řádků, které odpovídají hledanému vzoru
- -r – umožňuje rekurzivní vyhledávání v aktuálním adresáři
- -n – vyhledejte řádky a najděte pouze odpovídající čísla textových řádků
- -v – s touto volbou se nám zobrazí čáry, které neodpovídají vzoru, který jsme hledali
Některé užitečné příklady grep
Podívejme se na několik praktických příkladů příkazu grep.
Vyhledání slova v textovém souboru
Chcete-li vyhledat slovo v textovém souboru, stačí zadat příkaz:
grep query file
- dotaz – slovo, které hledáte
- soubor – soubor, ve kterém hledáte dotaz
V našem případě hledáme slovo příkaz v souboru s názvem grep :
grep command grep
Výstup zvýrazní řádky, které odpovídají dotazu takto:
Najít slovo ignorující malá a velká písmena
K tomu je nutné přidat volbu -i .
grep -i query file
To je ono, takhle jednoduché!
Cílový počet slov dotazu
Pomocí příkazu grep můžete zjistit, kolikrát je slovo použito v textovém souboru. Stačí přidat možnost -c .
grep -c query file
Vyhledávání více klíčových slov
Zatím jsme upozorňovali na příklady, kdy hledáme jedno slovo. Grep podporuje více dotazů v jednom příkazu. Příkaz by vypadal takto:
grep query1 file | grep query2 file
Příkaz funguje velmi jednoduchým způsobem. Nejprve hledáme Query1 a poté projdeme potrubím k druhému příkazu grep pro druhé slovo – Query2 .
Nalezení slova v sadě souborů
Je také možné prohledávat sadu souborů jediným příkazem:
grep -l word_to_search ./*
V terminálu se ve výstupu zobrazí soubory obsahující slovo, které jste hledali.
Závěr
Použití příkazu grep může značně usnadnit práci, pokud pracujeme s velkým množstvím textových souborů. To je důvod, proč je grep považován za velmi univerzální příkaz s mnoha možnostmi použití.
V tomto příspěvku jste se dozvěděli, jaké jsou nejběžnější funkce příkazu Linux grep. Na druhou stranu vám doporučujeme nahlédnout do oficiální dokumentace, abyste si rozšířili své znalosti! Šťastný vývoj.