Vyhledejte řetězce nebo vzory v prostém textu z terminálu

o hledání řetězců nebo vzorů

V následujícím článku některé uvidíme nástroje příkazového řádku používané k nalezení odpovídajících řetězců nebo vzorů v textových souborech. Tyto nástroje se obecně používají ve spojení s regulárními výrazy, zkráceně jako REGEX, což jsou jedinečné řetězce popisující vyhledávací vzor.

Regulární výrazy jsou vzory používané k nalezení určité kombinace znaků v textovém řetězci. Regulární výrazy poskytují velmi flexibilní způsob vyhledávání nebo rozpoznávání textových řetězců. Ačkoli v následujících řádcích neuvidíme regulární výrazy, použijeme vzory nebo řetězce.

Vyhledejte řetězce nebo vzory z terminálu

Příkaz Grep

Grep je zkratka pro Globální tisk regulárních výrazů. Jedná se o výkonný nástroj příkazového řádku, který je užitečný při hledání konkrétního řetězce nebo vzoru v souboru. S grep budeme moci používat širokou škálu funkcí, jako jsou ty, které nám před chvílí vysvětlil kolega v tomto blogu.

Syntaxe pro použití příkazu grep je velmi jednoduchá:

grep PATRON [RUTA AL ARCHIVO]

Například k vyhledání řetězce 'ubuntu„v souboru, který v tomto příkladu zavoláme text.txt, aniž bychom zohlednili rozdíl mezi velkými a malými písmeny, v terminálu (Ctrl + Alt + T) budeme muset provést pouze příkaz:

grep -i text

grep -i Ubuntu texto.txt

Velení sed

Žízeň je zkratka Editor streamů. Je to další užitečný nástroj pro terminál, se kterým můžeme manipulovat s textem v souboru. Sed vyhledává, filtruje a nahrazuje řetězce v daném souboru.

Příkaz sed ve výchozím nastavení vytiskne výstup STDOUT (Standardní výstup). To znamená, že výsledek provedení se vytiskne do terminálu namísto uložení do souboru.

Příkaz Sed lze použít následovně:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

Například nahradit všechny výskyty 'Linux'in a text by'Linux', příkaz k použití by byl následující:

Velení sed

sed 's/Linux/GnuLinux/g' texto.txt

Pokud to, co hledáme, je přesměrovat výstup do souboru namísto tisku do terminálu, použijeme znaménko přesměrování následovně:

sed 's/Linux/GnuLinux/g' texto.txt > salida.txt

Výstup příkazu se uloží do souboru output.txt namísto tisku na obrazovce.

výstup příkazu sed

Chcete-li zobrazit více možností, můžete podívejte se na manuálové stránky:

muž žízeň

man sed

ack

Ack je rychlý nástroj příkazového řádku napsaný v Perlu. Považuje se to za přátelskou náhradu za nástroj grep, který také generuje výsledky vizuálně atraktivním způsobem.

na nainstalovat ack v našem systému budeme muset provést v terminálu (Ctrl + Alt + T):

nainstalovat ack

sudo apt install ack

Příkaz Ack prohledá v souboru nebo adresáři řádky, které obsahují shodu s kritérii vyhledávání. Poté zvýrazněte odpovídající řetězec. Tento nástroj má schopnost rozlišovat soubory podle jejich přípon.

Syntaxe příkazu Ack by byla něco jako následující

ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Například k vyhledání výrazu Linux v souboru bychom museli provést:

příkaz ack vyhledávání

ack Linux texto.txt

Vyhledávací nástroj je docela chytrý a pokud uživatel nedodá žádné soubory nebo adresáře, prohledá aktuální adresář a podadresáře pro vyhledávací vzor.

V následujícím příkladu není poskytován žádný soubor ani adresář. Ack automaticky detekuje dostupný soubor v adresáři a hledá odpovídající vzor:

ack vyhledávání bez souboru

ack Linux

ripgrep

ripgrep je multiplatformní nástroj pro vyhledávání vzorů regulárních výrazů. Je rychlejší než všechny výše uvedené vyhledávací nástroje a rekurzivně hledá adresáře, aby nalezly odpovídající vzory. Umožňuje také vyhledávat konkrétní typy souborů. Ve výchozím nastavení přeskočí ripgrep binární soubory a skryté soubory / adresáře.

na nainstalovat ripgrep v systému musíte v terminálu spustit následující příkaz (Ctrl + Alt + T):

instalace ripgrep

sudo apt install ripgrep

Syntaxe pro používání ripgrep je velmi přímočará:

rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Pokud bychom chtěli hledat řetězec 'Linux'v souborech umístěných v aktuálním adresáři budeme muset provést pouze příkaz:

muž rg linux

rg Linux

Uživatelé mohou zobrazit více možností manuálové stránky:

muž rg

man rg

Stříbrný hledač

na nainstalujte tento nástrojV Ubuntu budeme muset otevřít pouze terminál (Ctrl + Alt + T) a napsat příkaz:

instalace silversearcher-ag

sudo apt install silversearcher-ag

Silver Searcher je multiplatformní, otevřený vyhledávací nástroj podobný ack, ale s důrazem na rychlost. Usnadňuje hledání konkrétního řetězce v souborech v co nejkratším čase. Syntaxe, která se má použít, by byla:

ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo

Chcete-li například vyhledat „Linux've složce text.txt, museli bychom napsat do terminálu (Ctrl + Alt + T):

hledat pomocí silversearcher

ag Linux texto.txt

Chcete-li zobrazit další možnosti, můžete se podívat na manuálové stránky:

mužský vyhledávač

man ag

Toto jsou jen některé z nejčastěji používaných nástrojů příkazového řádku pro vyhledávání, filtrování a manipulaci s textem v systému Linux.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.