Linux poskytuje greppro filtrování textu. V některých situacích však můžeme potřebovat rozšířenější nástroj pro porovnání daného vzoru v daných textových souborech. Tento nástroj se nazývá Extended Global Regular Expression Print nebo jednoduše egrep . egrep poskytuje rozšířené funkce oproti běžnému nástroji grep.

Syntaxe příkazu egrep je následující.

egrep FLAG REGEX FILE
  • `FLAG` slouží ke změně některých chování příkazu `egrep`.
  • `REGEX` je vzor, který chceme vyhledávat ve formátu regex.
  • `FILE` je název souboru, ve kterém budeme vyhledávat

Normální vyhledávání

Pomocí egrep můžeme vyhledávat normální text bez zadání regulárního výrazu. Stačí, když zadáme výraz, který chceme vyhledat. V tomto příkladu budeme hledat ismail v souboru s názvem /etc/passwd .

$ egrep ismail /etc/passwd
Hledat normálně

Dohledat řádky obsahující číselné znaky

Číselné znaky můžeme zadat pomocí , což znamená jednu z číselných hodnot od 0 do 9. V tomto příkladu budeme hledat v souboru s názvem /etc/passwd.

$ egrep ''/etc/passwd

Match Lines Contains Alphabet Characters

Můžeme také zadat znaky abecedy pomocí pro malé znaky a pro velké znaky. V tomto příkladu budeme porovnávat velká písmena.

$ egrep ''/etc/passwd
Match Lines Contains Alphabet Characters

Match All Lines Starting with Alphabet

Můžeme porovnávat začátky řádků pomocí znaku ^. V tomto příkladu budeme hledat všechny řádky, kde začíná znak alfa.

$ egrep '^' myinput.py
Match All Lines Starting with Alphabet

Match All Lines Ending with Numeric

Konec řádku můžeme určit pomocí znaku $. Následující příkaz vypíše všechny řádky, které končí číselným znakem.

$ egrep '$' myinput.py

Match Caseinsenstive

egrep je ve výchozím nastavení case senstive. Rozlišování malých a velkých písmen znamená, že velké a malé znaky se budou lišit, například A se liší od a. Pokud chceme, můžeme naši shodu učinit caseinsensitive pomocí možnosti -i jako příznaku. Následující příklad bude odpovídat všem následujícím slovům

  • IsmaiL
  • ismAIL
  • ISMAIL
$ egrep -i 'ismail' myinput.py

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.