Ako nájsť text v súboroch v systéme Linux

How Find Text Files Linux



Pre správcu systému je práca s textovými súbormi bežným javom. Možno je potrebné nájsť konkrétnu sekciu z hromady protokolových súborov na riešenie problémov? Alebo potrebujete rýchlo nájsť dokument, ktorý obsahuje dôležité informácie?

V prípade Linuxu existuje množstvo spôsobov, ako nájsť texty v súboroch. Je to možné pomocou vstavaných nástrojov aj aplikácií tretích strán. Zistite, ako nájsť texty v súboroch v systéme Linux.







Hľadanie textu v súboroch

V závislosti od počtu súborov, v ktorých musíte vykonať vyhľadávanie, existujú dva spôsoby vykonávania textového vyhľadávania: automatické alebo manuálne. Ak musíte pracovať s niekoľkými textovými súbormi, je vhodnejšie manuálne vyhľadávanie. Ak však existujú stovky textových súborov, potom je automatické vyhľadávanie najefektívnejšie.



Na automatické vyhľadávanie použijeme grep. Grep je predinštalovaný v akomkoľvek distribúcii Linuxu. Pokiaľ ide o manuálne vyhľadávanie, svoju úlohu zvládne každý moderný textový editor.



Nájdite text v súboroch pomocou grep

V systéme Linux je grep predvoleným nástrojom na vyhľadávanie textov. Jeho názov je odvodený od príkazu ed g/re/p, ktorý znamená globálne vyhľadávanie regulárnych výrazov a tlačenie zodpovedajúcich riadkov. Je k dispozícii v každom modernom distribúcii Linuxu.





Grep je nástroj príkazového riadka. Jeho štruktúra príkazov je nasledovná.

$uchopenie <možnosť> <regulárny_výraz> <cesta k súboru>

Ako naznačuje názov grep, vzor na hľadanie je popísaný pomocou regulárneho výrazu. Regulárny výraz je špeciálny typ reťazca, ktorý popisuje vzor, ​​ktorý sa má zhodovať, lokalizovať a spravovať. Ak sa chcete dozvedieť viac o grep a regulárnom výraze, pozrite sa na pomocou grep a egrep s regulárnym výrazom .



Na ukážkové účely si vezmite vzorový textový súbor. V tomto prípade si stiahnite súbor Textový súbor GNU General Public License v3.0 .

Základné vyhľadávanie

Základným spôsobom použitia grep je vyhľadanie základného reťazca.

Pozrite sa na nasledujúci príkaz grep. V textovom súbore vyhľadá slovo GNU.

$uchopenie „GNU“lpg-3.0.TXT

Ak chcete zobraziť číslo riadka, použite príznak -n.

$uchopenie -nGNU gpl-3.0.TXT

Ak chcete vykonať vyhľadávanie bez rozlišovania malých a veľkých písmen pomocou príkazu grep, použite príznak -i.

$uchopenie -nignu gpl-3.0.TXT

V niektorých situáciách možno nebudete chcieť vidieť zhodu vyhľadávania, ale iba názov súboru, kde sa zhoda vyskytla. Ak chcete vytlačiť iba názov súboru, použite príznak -l. Tu hviezdička označuje použitie všetkých textových súborov v aktuálnom adresári.

$uchopenie -tengnu*

Môžeme tiež odoslať výstup iných príkazov do grep.

$katlpg-3.0.TXT| uchopenie -nGNU

Regulárny výraz

Regex ponúka inteligentný spôsob doladenia vyhľadávania. Má to svoje pravidlá. Rôzne aplikácie a programovacie jazyky však regulárny výraz implementujú odlišne. Tu je niekoľko príkladov, ktoré môžete použiť s grep.

Ak chcete definovať, že reťazec sa má nachádzať na začiatku riadka, použite symbol caret (^).

$uchopenie -n^ GNU gpl-3.0.TXT

Ak chcete definovať, že reťazec sa nachádza na konci riadka, použite znak dolára ($).

$uchopenie -ndo $ gpl-3.0.TXT

Ak chcete popísať, že na určitom mieste vzoru môže byť ľubovoľný znak, použite dobový znak (.). Napríklad výraz G.U je platný, ak existuje nejaký znak medzi G a U.

$uchopenie -nG.U gpl-3.0.TXT

Na opis, že na určitom mieste vzoru môže byť podmnožina znakov, použite zátvorky ([]). Napríklad výraz t [wo] o hovorí, že zhoda platí pre dvoch a tiež len pre dvoch.

$uchopenie -nt[Kde]o gpl-3.0.TXT

Rozšírený regulárny výraz

Ako naznačuje názov, rozšírený regulárny výraz dokáže zložitejšie veci než základné regulárne výrazy. Ak chcete použiť rozšírený regulárny výraz s grep, musíte použiť príznak -E.

$uchopenie -narodený <extended_regex> <súbor>

Ak chcete vyhľadať dva rôzne reťazce, použite operátory ALEBO (|).

$uchopenie -narodenýGNU|generál|Licencia gpl-3.0.TXT

Hľadanie textu v súboroch

Teraz prichádza hlavná časť. Namiesto manuálneho prikázania súboru grep, aby vykonal vyhľadávanie, to môže urobiť automaticky. V nasledujúcom príkaze grep použije na vyhľadávanie vzoru všetky dostupné textové súbory v aktuálnom adresári.

$uchopenie <regulárny výraz> *

Ak chcete spustiť vyhľadávanie v inom adresári, musíte zadať umiestnenie.

$uchopenie <regulárny výraz> <adresár_cesta>

Ak existujú priečinky, grep ich predvolene neskúma. Ak chcete príkazu grep povedať, aby vyhľadával rekurzívne, použite príznak -R.

$uchopenie -nR <regulárny výraz> <adresár_cesta>

Grip GUI

Ak dávate prednosť práci s grafickým rozhraním, ale napriek tomu si chcete vychutnať funkcie grep, vyskúšajte searchmonkey. Je to front-endové riešenie pre grep. Tento balík je k dispozícii takmer vo všetkých veľkých distribúciách Linuxu.

Nájdite text v súboroch pomocou nano

GNU Nano je jednoduchý a výkonný textový editor, ktorý sa dodáva s akýmkoľvek distribúciou Linuxu. Má vstavané funkcie na vyhľadávanie textu v textovom súbore.

Pri tejto metóde musíte otvoriť textový súbor a hľadať ručne. Je to možné, ak existuje iba niekoľko textových súborov, s ktorými môžete pracovať. Ak je toho viac, potom je použitie grep najoptimálnejšou voľbou.

Otvorte textový súbor v nano.

$nano <cesta k súboru>

Ak chcete vyhľadať zhodu reťazca, stlačte kombináciu klávesov Ctrl + W. Po zadaní reťazca, ktorý chcete vyhľadať, stlačte kláves Enter.

Nájdite text v súboroch pomocou Vim

Vim je známy a uznávaný textový editor. Je to ekvivalent príkazového riadka k modernému textovému editoru. Vim ponúka množstvo pokročilých funkcií, ako sú doplnky, makrá, automatické dokončovanie, filtre atď.

Podobne ako nano, Vim pracuje s jedným súborom súčasne. Ak máte viac textových súborov, potom je použitie grep najoptimálnejším spôsobom.

Ak chcete hľadať v textovom súbore, najskôr ho otvorte vo Vime.

$Prišiel som <cesta k súboru>

Zadajte nasledujúci príkaz Vim a stlačte Enter.

$:/<hľadanie_termínu>

Nájdite text v súboroch pomocou textového editora GNOME

Textový editor GNOME je textový editor, ktorý sa dodáva s pracovnou plochou GNOME. Je to zjednodušený textový editor so všetkými základnými funkciami, ktoré by ste očakávali. Je to pekná alternatíva k textovým editorom príkazového riadka.

Podobne ako pre nano a vim, aj pre túto metódu platí rovnaká opatrnosť. Ak je počet textových súborov veľký, radšej sa držte grep.

Otvorte textový súbor v textovom editore. Stlačením Ctrl + F vyvoláte panel vyhľadávania.

Nájdite text v súboroch pomocou kódu VS

Visual Studio Code je výkonný textový editor s mnohými funkciami. Je optimalizovaný na používanie programátormi, ako keby išlo o plnohodnotné IDE. Je k dispozícii takmer vo všetkých veľkých distribúciách Linuxu.

Nainštalujte si prichytávací balík Visual Studio Code.

$sudozacvaknúťInštaláciakód--klasický

Otvorte textový súbor v kóde VS. Vyhľadávanie spustíte stlačením klávesov Ctrl + F.

Záverečné myšlienky

Existuje mnoho spôsobov, ako vyhľadávať text v súboroch. Je ľahké zvládnuť túto úlohu. Dôrazne sa odporúča ovládať príkaz grep, pretože ponúka najväčšiu hodnotu z hľadiska účinnosti a jednoduchosti použitia.

Ak dávate prednosť grafickému rozhraniu, máte na výber z mnohých textových editorov. Každý moderný textový editor poskytne možnosť vyhľadávania textu.

Veľa šťastia pri práci s počítačom!