Sprievodca pre začiatočníkov

Ako nájsť reťazec v súbore v systéme Linux

Ako nájsť reťazec v súbore v systéme Linux

Niekedy bude možno potrebné vyhľadať konkrétne slovo alebo reťazec v súbore. Za týmto účelom má takmer každý textový editor implementáciu grafického používateľského rozhrania, ktorá vám pomôže. Pre používateľov systému Linux je však oveľa produktívnejšie a pohodlnejšie vyhľadávať z príkazového riadku.

V skutočnosti má Linux výkonný a pohodlný nástroj príkazového riadku - príkaz grep na tento účel. Pomocou tohto nástroja môžete vyhľadávať konkrétny reťazec nielen v jednom súbore, ale aj vo viacerých súboroch, čím získate komplexnejšie vyhľadávanie.

Predtým, ako budete môcť použiť príkaz grep, musíte najskôr poznať jeho fungovanie a jeho syntaxe. Aby sme vám pomohli, pripravili sme podrobného sprievodcu používaním príkazu grep, ktorý vám pomôže nájsť reťazce v súbore v systéme Linux. Nielen to, ale ukážeme vám tiež, ako vyhľadávať reťazce v súboroch prostredníctvom textového editora príkazového riadku a textového editora GUI.

Poznámka: Pre tento tutoriál sme vytvorili dva ukážkové textové súbory - demofil.txt a demofile02.TXT. Na nájdenie reťazcov v týchto súboroch použijeme príkaz grep. Tu je pohľad na obsah oboch týchto súborov, aby ste vedeli, ako fungujú príkazy.

Obsah demofilu.TXT:

Toto je ukážkový súbor, ktorý som vytvoril na demonštračné účely. Obsahuje veľa slov na vytvorenie viet, ktoré sa nakoniec končia bodkou. Toto je príklad grep.

Obsah demofilu02.TXT:

Toto je ďalší ukážkový súbor, ktorý použijem na túto ukážku. Tento je podobný poslednému, pretože obsahuje tri riadky s niekoľkými slovami. Tento druhý súbor pomôže poskytnúť niekoľko diverzifikovaných príkladov.

Vyhľadanie reťazcov v súbore pomocou príkazového riadku (metóda GREP)

GREP je skratka pre globálnu regulárnu expresiu tlače. Je „globálny“, pretože dokáže prehľadať celý váš systém Linux. „Regulárny výraz“ je to, čo nazývame vzor textového vyhľadávania, ktorý použijeme s príkazom. A „Tlač“ znamená, že vytlačí výsledky hľadania, akonáhle nájde zhodu na základe poskytnutého regulárneho výrazu.

Teraz, keď máte predstavu o tom, čo je príkaz grep, pozrime sa, ako ho môžeme použiť. Tu je syntax pre použitie príkazu grep na vyhľadanie reťazca v súbore:

$ grep struna názov súboru

Budete musieť nahradiť výraz „reťazec“ výrazom „regulárny výraz“, ktorý chcete použiť, a výraz „názov súboru“ názvom súboru, v ktorom chcete vyhľadať reťazec.

# 1. Používanie GREP na vyhľadanie reťazca v jednom súbore

Povedzme teda, ak chcete vyhľadať slovo „ukážka“ v súbore „demofile“.txt, ”budete musieť použiť tento príkaz:

$ grep demonštračný demofil.TXT

Čo dáva výstup:

Používanie GREP na nájdenie reťazca v jednom súbore

Ako vidíte, príkaz načíta celý riadok obsahujúci zadaný reťazec. Ak sa zadaný reťazec vyskytuje vo viacerých riadkoch, všetky sa vytlačia. Pozrime sa, či to funguje, vyhľadaním reťazca „This“ v „demofile“.súbor txt “.

$ grep Tento demofil.TXT

A výstup je:

grep rozlišuje veľké a malé písmená

Všimnite si, ako ste najskôr použili reťazec „this“ a nič sa nevytlačilo. Iba vtedy, keď zadáte „Toto“, získate zhodu. Mali by ste si preto uvedomiť, že v príkaze grep sa rozlišujú veľké a malé písmená.

Ak chcete prípad ignorovať, musíte namiesto toho zadať tento príkaz:

$ grep -i tento demofil.TXT

Ako ignorovať veľkosť písmen v príkaze grep

Ako teraz vidíte, aj keď je zadaný reťazec „this“, príkaz sa zhoduje s výrazom „This“ a vytlačí túto odpoveď.

# 2. Používanie GREP na nájdenie rovnakého reťazca vo viacerých súboroch

Ak chcete vyhľadaný reťazec vyhľadať vo viacerých súboroch, stačí, keď k príkazu pripojíte všetky názvy súborov.

Tu je príklad. Tu hľadáme reťazec „slová“ v súboroch „demofile“.txt “a„ demofile02.TXT":

$ grep slová demofil.txt demofile02.TXT

A výstup je:

Používanie GREP na nájdenie rovnakého reťazca vo viacerých súboroch

Ako vidíte, príkaz grep vám nielen ukáže zhodný výsledok, ale aj pohodlne označí, z ktorého súboru je.

# 3. Používanie GREP na vyhľadanie viacerých reťazcov vo viacerých súboroch

Môžete tiež použiť grep na vyhľadanie viacerých reťazcov v jednom alebo viacerých súboroch. Toto je syntax, ktorú budete musieť použiť:

$ grep -E 'vzor1 | vzor2 | vzor3 |… "názov súboru1 názov súboru2 názov súboru3 .. 

Voľba -E, ktorú sme zadali, zaobchádza s nasledujúcim vzorom ako s rozšíreným regulárnym výrazom, ktorý nám umožňuje vyhľadávať viac reťazcov.

Teraz použijeme to, čo sme sa naučili, na hľadanie reťazcov „súbor“ a „slová“ v týchto dvoch súboroch: „demofil.txt “a„ demofile02.TXT":

$ grep -E 'súbor | slovo' demofil.txt demofile02.TXT

A výstup je:

Používanie GREP na vyhľadanie viacerých reťazcov vo viacerých súboroch

# 4. Tipy a triky na hľadanie reťazcov pomocou príkazu GREP

Napriek svojej celkovej jednoduchosti je príkaz grep mimoriadne výkonný. Tu je niekoľko spôsobov, ako môžete použiť príkaz grep na rozšírené vyhľadávanie reťazcov.

Napríklad ste vedeli, že môžete použiť príkaz grep so zástupnými znakmi? Zvážme tento príkaz:

$ grep slovo demofil *

Čo dáva výstup:

grep a zástupné znaky

Ako vidíte, príkaz vyhľadal a teraz zobrazuje výsledky pre oba súbory „demofile“.txt “a„ demofile02.TXT". Je to tak preto, lebo sme použili zástupný znak hviezdička (*), ktorý predstavuje jeden alebo viac výskytov ľubovoľného znaku.

Viac informácií o rôznych typoch zástupných znakov a o tom, ako ich používať, nájdete v tomto článku: Zástupné znaky v systéme Linux sú vysvetlené pomocou 10 príkladov.

Príkaz grep ďalej podporuje aj množstvo možností príkazov. Doteraz sme už videli dvoch z nich:

Existuje veľa ďalších možností príkazov grep, ako napríklad:

Všetko, o čom sme doteraz diskutovali, by malo stačiť na to, aby vám pomohlo vyhľadať reťazce v súboroch. Ak si však chcete osvojiť príkaz GREP, odporúčame vám prečítať si tieto dva články:

Vyhľadanie reťazcov v súbore pomocou príkazového riadku (pomocou textových editorov príkazového riadku)

Príkaz grep je mocný nástroj, ktorý vám pomôže vykonať pokročilé vyhľadávanie, aby sa na vašom počítači so systémom Linux zhodovali reťazce s niekoľkými súbormi a adresármi. Ak však už máte súbor otvorený v textovom editore príkazového riadku, nie je potrebné editor súborov ukončiť a použiť príkaz grep.

V skutočnosti väčšina textových editorov príkazového riadku už má zabudovanú funkciu vyhľadávania.

Teraz je nad rámec tohto tutoriálu pokryť každý jeden textový editor príkazového riadku a ako nájsť reťazce v súbore otvorenom v tomto textovom editore. Preto sa pozrieme na dva najpopulárnejšie textové editory príkazového riadku, ktoré určite používate:

Ako nájsť textový reťazec v nano?

Povedzme, že máte súbor otvorený v nano textovom editore. V takom prípade stačí stlačiť Ctrl + W a nájdete novú výzvu na zadanie reťazca.

Po dokončení stlačte kláves Enter a kurzor sa dostane na prvý znak prvého výskytu hľadaného reťazca. Stlačením klávesu Enter môžete preskočiť na ďalšie inštancie reťazcov, ak existujú.

Ako nájsť textový reťazec v nano

Ako nájsť textový reťazec vo vim?

Ak používate textový editor vim, môžete napísať: /, potom reťazec, ktorý chcete vyhľadať, a potom stlačiť kláves Enter. Podobne ako predtým, pristane kurzor pri prvom výskyte hľadaného reťazca. Aj tu môžete stlačením klávesu Enter preskočiť na ďalšie inštancie reťazca.

Ako nájsť textový reťazec vo vim

Vyhľadanie reťazcov v súbore pomocou príkazového riadku (metóda GUI)

Existuje dokonca aj metóda GUI na vyhľadanie reťazcov v súbore. V podstate je to podobné ako s funkciou „nájsť a nahradiť“, ktorú vidíte v programe Microsoft Word; Bude sa však líšiť v závislosti od toho, aký textový editor GUI používate.

Teraz, ako viete, existujú stovky textových editorov a nie je praktické tu uvádzať všetky. Všetky však fungujú podobne, takže nebudete mať problém s prácou s ostatnými, keď budete vedieť, ako jeden z nich funguje.

Pre tento tutoriál budeme používať predvolený textový editor dodávaný s Ubuntu, nazvaný - „Textový editor.“

Ako nájsť reťazec pomocou textových editorov GUI

Ako vidíte na obrázku, otvorili sme demofil.txt na editore. Teraz klikneme na rozbaľovaciu ponuku, ktorá odhalí možnosti „Nájsť“ a „Nájsť a nahradiť“, pomocou ktorých nájdeme akékoľvek reťazce v otvorenom súbore.

Balenie

Týmto sa dostávame na koniec tohto krátkeho tutoriálu o hľadaní reťazcov v súbore v systéme Linux. Dúfame, že vám to bude užitočné a pomohlo vám zvýšiť produktivitu pri hľadaní konkrétnych reťazcov v systéme Linux.

Ak máte akékoľvek otázky, zanechajte nám komentár a my vám s otázkami určite pomôžeme.

Ak začínate s Linuxom, nezabudnite si pozrieť našu sériu Learn Linux. Je plný hromady úžasných návodov, návodov a príručiek určených pre začiatočníkov a ostrieľaných používateľov, ktoré vám pomôžu stať sa skutočným používateľom systému Linux.

Trackpad a ukazovateľ myši AppyMouse na obrazovke pre tablety so systémom Windows
Používateľom tabletov často chýba ukazovateľ myši, najmä keď notebooky bežne používajú. Dotykové smartphony a tablety majú veľa výhod a jediným obmedz...
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...
Ako zmeniť ľavé a pravé tlačidlo myši na počítači so systémom Windows 10
Je úplnou normou, že všetky zariadenia počítačových myší sú ergonomicky navrhnuté pre pravákov. Existujú však dostupné myšacie zariadenia, ktoré sú šp...