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!