Vyhľadajte reťazce alebo vzory v obyčajnom texte z terminálu

o hľadaní reťazcov alebo vzorov

V nasledujúcom článku niektoré uvidíme nástroje príkazového riadku používané na nájdenie zodpovedajúcich reťazcov alebo vzorov v textových súboroch. Tieto nástroje sa zvyčajne používajú v spojení s regulárnymi výrazmi, skrátenými ako REGEX, ktoré sú jedinečnými reťazcami popisujúcimi vyhľadávací vzor.

Regulárne výrazy sú vzory, ktoré sa používajú na nájdenie určitej kombinácie znakov v textovom reťazci. Regulárne výrazy poskytujú veľmi flexibilný spôsob vyhľadávania alebo rozpoznávania textových reťazcov. Aj keď v nasledujúcich riadkoch neuvidíme regulárne výrazy, použijeme vzory alebo reťazce.

Vyhľadajte reťazce alebo vzory z terminálu

Príkaz grep

Grep je skratka pre Globálna regulárna expresia tlače. Jedná sa o výkonný nástroj príkazového riadku, ktorý je užitočný pri hľadaní konkrétneho reťazca alebo vzoru v súbore. S grep budeme môcť využívať širokú škálu funkcií, napríklad také, ktoré nám pred časom v tomto blogu vysvetlil kolega.

Syntax použitia príkazu grep je dosť jednoduchá:

grep PATRON [RUTA AL ARCHIVO]

Napríklad na vyhľadanie reťazca „ubuntu„v súbore, ktorý v tomto príklade zavoláme text.txt, bez ohľadu na rozdiel medzi malými a veľkými písmenami, v termináli (Ctrl + Alt + T) budeme musieť vykonať iba príkaz:

grep -i text

grep -i Ubuntu texto.txt

Velenie sed

Smäd je skratka Editor streamu. Je to ďalší užitočný nástroj pre terminál, pomocou ktorého môžeme manipulovať s textom v súbore. Sed vyhľadáva, filtruje a nahrádza reťazce v danom súbore.

Príkaz sed štandardne vytlačí výstup v STDOUT (Štandardný výstup). To znamená, že výsledok vykonania sa namiesto uloženia do súboru vytlačí do terminálu.

Príkaz Sed možno použiť nasledovne:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

Napríklad na nahradenie všetkých výskytov výrazu „Linux„v texte od“Linux', príkaz na použitie by bol tento:

Velenie sed

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

Ak to, čo hľadáme, je presmerovať výstup do súboru namiesto jeho vytlačenia do terminálu, budeme používať znak presmerovania nasledovne:

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

Výstup príkazu sa uloží do súboru výstup.txt namiesto toho, aby sa tlačili na obrazovku.

výstup príkazu sed

Ak chcete zobraziť viac možností, môžete pozrite si manuálové stránky:

človek smädný

man sed

ack

Ack je rýchly nástroj príkazového riadku napísaný v Perle. Považuje sa to za priateľskú náhradu za utilitu grep, ktorý tiež generuje výsledky vizuálne atraktívnym spôsobom.

na nainštalovať ack v našom systéme budeme musieť vykonať v termináli (Ctrl + Alt + T):

nainštalovať ack

sudo apt install ack

Príkaz Ack vyhľadáva v súbore alebo adresári riadky, ktoré obsahujú zhodu s kritériami vyhľadávania. Potom zvýraznite zodpovedajúci reťazec. Tento nástroj má schopnosť rozlišovať súbory na základe ich prípon.

Syntax príkazu Ack by bola podobná nasledujúcej

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

Napríklad na vyhľadanie výrazu Linux v súbore by sme museli vykonať:

príkaz ack hľadanie

ack Linux texto.txt

Vyhľadávací nástroj je veľmi inteligentný a ak užívateľ nedodá žiadne súbory alebo adresáre, vyhľadá v aktuálnom adresári a podadresároch vyhľadávací vzor.

V nasledujúcom príklade nie je uvedený žiadny súbor ani adresár. Ack automaticky zistí dostupný súbor v adresári a vyhľadá zodpovedajúci vzor:

ack hladanie bez suboru

ack Linux

ripgrep

ripgrep je multiplatformový nástroj na vyhľadávanie vzorov regulárnych výrazov. Je rýchlejší ako všetky vyššie uvedené vyhľadávacie nástroje a rekurzívne vyhľadáva v adresároch vyhovujúce vzory. Umožňuje tiež vyhľadávať konkrétne typy súborov. V predvolenom nastavení ripgrep preskočí binárne súbory a skryté súbory / adresáre.

na nainštalovať ripgrep v systéme stačí spustiť v termináli nasledujúci príkaz (Ctrl + Alt + T):

inštalácia ripgrep

sudo apt install ripgrep

Syntax pre použitie ripgrep je dosť jednoduchá:

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

Keby sme chceli hľadať reťazec 'Linux„v súboroch umiestnených v aktuálnom adresári budeme musieť vykonať iba príkaz:

manrg linux

rg Linux

Používatelia môžu vidieť viac možností man stránky:

muž rg

man rg

Strieborný hľadač

na nainštalujte tento nástrojV Ubuntu budeme musieť otvoriť iba terminál (Ctrl + Alt + T) a napísať príkaz:

inštalácia silversearcher-ag

sudo apt install silversearcher-ag

Silver Searcher je cross-platformový open source vyhľadávací nástroj podobný ack, ale s dôrazom na rýchlosť. Uľahčuje vyhľadanie konkrétneho reťazca v súboroch v čo najkratšom čase. Syntax, ktorá sa má použiť, by bola:

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

Napríklad na vyhľadanie výrazu „Linux„v spise text.txt, museli by sme do terminálu napísať (Ctrl + Alt + T):

hľadať pomocou silversearcher

ag Linux texto.txt

Ak si chcete pozrieť viac možností, navštívte stránku man stránky:

človek silversearcher

man ag

Existuje iba niekoľko najbežnejšie používaných nástrojov príkazového riadku na vyhľadávanie, filtrovanie a manipuláciu s textom v systéme Linux.


Buďte prvý komentár

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.