Kako najti besedilo v datotekah v Linuxu

How Find Text Files Linux



Za skrbnika sistema je delo z besedilnimi datotekami običajen pojav. Morda bi morali poiskati poseben odsek iz datotek dnevnikov za odpravljanje težav? Ali pa morate hitro najti dokument, ki vsebuje bistvene podatke?

V primeru Linuxa obstaja veliko načinov iskanja besedil v datotekah. Možno je z uporabo vgrajenih orodij in aplikacij drugih proizvajalcev. Preverite, kako poiščete besedila v datotekah v Linuxu.







Iskanje besedila v datotekah

Glede na število datotek, po katerih morate iskati, obstajata dva načina za iskanje besedila: samodejno ali ročno. Če morate delati z nekaj besedilnimi datotekami, je ročno iskanje bolj primerno. Če pa obstaja na stotine besedilnih datotek, je avtomatizirano iskanje najučinkovitejše.



Za samodejno iskanje bomo uporabili grep. Grep je vnaprej nameščen na katerem koli distribucijskem sistemu Linux. Kar zadeva ročno iskanje, bo to opravil vsak sodoben urejevalnik besedil.



Poiščite besedilo v datotekah s pomočjo grep

V Linuxu je grep privzeto orodje za iskanje besedil. Njegovo ime izhaja iz ukaza ukaz g/re/p, ki pomeni globalno iskanje regularnega izraza in tiskanje ujemajočih se vrstic. Na voljo je v katerem koli sodobnem distribucijskem sistemu Linux.





Grep je orodje ukazne vrstice. Njegova ukazna struktura je naslednja.

$oprijem <možnost> <vsakdanje izražanje> <file_path>

Kot pove ime grep, je vzorec za iskanje opisan z uporabo regularnega izraza. Regularni izraz je posebna vrsta niza, ki opisuje vzorec za ujemanje, iskanje in upravljanje. Če želite izvedeti več o grepu in regularnem izrazu, si oglejte z uporabo grep in egrep z regularnim izrazom .



Za predstavitvene namene vzemite vzorčno besedilno datoteko. V tem primeru prenesite datoteko Besedilna datoteka splošne javne licence GNU v3.0 .

Osnovno iskanje

Temeljni način uporabe grep je iskanje osnovnega niza.

Oglejte si naslednji ukaz grep. V besedilni datoteki bo iskal besedo GNU.

$oprijem 'GNU'lpg-3.0.txt

Za prikaz številke vrstice uporabite zastavico -n.

$oprijem -nGNU gpl-3.0.txt

Za iskanje, ki ne razlikuje med velikimi in malimi črkami z uporabo grep, uporabite zastavico -i.

$oprijem -nignu gpl-3.0.txt

Morda ne želite videti ujemanja iskanja, ampak le ime datoteke, kjer se je ujemanje zgodilo. Če želite natisniti samo ime datoteke, uporabite zastavico -l. Tukaj zvezdica označuje uporabo vseh besedilnih datotek v trenutnem imeniku.

$oprijem -gnu*

Izhod drugih ukazov lahko prenesemo tudi v grep.

$mačkalpg-3.0.txt| oprijem -nGNU

Vsakdanje izražanje

Regex ponuja pameten način natančnega prilagajanja iskanja. Ima svoja pravila. Vendar različne aplikacije in programski jeziki različno izvajajo regularne izraze. Tukaj je nekaj primerov, ki jih lahko uporabite z grep.

Če želite določiti, da je niz najden ob začetku vrstice, uporabite simbol karike (^).

$oprijem -n^ GNU gpl-3.0.txt

Če želite določiti, da je niz na koncu vrstice, uporabite znak dolarja ($).

$oprijem -nna $ gpl-3.0.txt

Če želite opisati, da je na določenem mestu vzorca lahko kateri koli znak, uporabite znak pike (.). Na primer, izraz G.U je veljaven, če je med G in U kakšen znak.

$oprijem -nG.U gpl-3.0.txt

Če želite opisati, da je na določenem mestu vzorca lahko podnabor znakov, uporabite oklepaje ([]). Na primer, izraz t [wo] o pove, da ujemanje velja le za dva in tudi preveč.

$oprijem -nt[Kje]o gpl-3.0.txt

Razširjen regularni izraz

Kot že ime pove, lahko razširjeni regularni izraz naredi bolj zapletene stvari kot osnovni regularni izrazi. Če želite uporabljati razširjen regularni izraz z grep, morate uporabiti zastavico -E.

$oprijem -Rojen <extended_regex> <mapa>

Za iskanje dveh različnih nizov uporabite operatorja OR (|).

$oprijem -RojenGNU|splošno|Licenca gpl-3.0.txt

Iskanje besedila v datotekah

Zdaj prihaja glavni del. Namesto da ročno pove datoteki grep, da izvede iskanje, lahko grep to stori samodejno. V naslednjem ukazu bo grep za iskanje po vzorcu uporabil vse razpoložljive besedilne datoteke v trenutnem imeniku.

$oprijem <regex> *

Če želite grep opraviti iskanje v drugem imeniku, morate določiti lokacijo.

$oprijem <regex> <directory_path>

Če obstajajo mape, jih grep privzeto ne raziskuje. Če želite, da grep rekurzivno išče, uporabite zastavico -R.

$oprijem -nR <regex> <directory_path>

Grip GUI

Če želite delati z grafičnim vmesnikom, vendar še vedno želite uživati ​​v funkcijah grepa, si oglejte searchmonkey. To je sprednja rešitev za grep. Paket je na voljo v skoraj vseh večjih distribucijah Linuxa.

Poiščite besedilo v datotekah z nano

GNU Nano je preprost in zmogljiv urejevalnik besedil, ki je priložen kateri koli distribuciji Linuxa. Ima vgrajene funkcije za iskanje besedila v besedilni datoteki.

Upoštevajte, da morate pri tej metodi odpreti besedilno datoteko in ročno iskati. To je izvedljivo, če je za delo le peščica besedilnih datotek. Če jih je več, je uporaba grepa najbolj optimalna izbira.

Odprite besedilno datoteko v nano.

$nano <file_path>

Če želite poiskati ujemanje niza, pritisnite Ctrl + W. Ko vnesete niz za iskanje, pritisnite Enter.

Poiščite besedilo v datotekah s programom Vim

Vim je znan in cenjen urejevalnik besedil. To je ekvivalent ukazne vrstice sodobnega urejevalnika besedil. Vim ima številne napredne funkcije, kot so vtičniki, makri, samodejno dokončanje, filtri itd.

Podobno kot nano deluje tudi Vim z eno datoteko hkrati. Če imate več besedilnih datotek, je uporaba grep najbolj optimalen način.

Če želite iskati v besedilni datoteki, jo najprej odprite v Vimu.

$Sem prišel <file_path>

Vnesite naslednji ukaz Vim in pritisnite Enter.

$:/<iskalni_izraz>

Poiščite besedilo v datotekah z urejevalnikom besedil GNOME

Urejevalnik besedil GNOME je urejevalnik besedila, ki je priložen namizju GNOME. To je poenostavljen urejevalnik besedil z vsemi osnovnimi funkcijami, ki bi jih pričakovali. To je lepa alternativa urejevalnikom besedil ukazne vrstice.

Podobno kot nano in vim velja ista previdnost za to metodo. Če je število besedilnih datotek veliko, se raje držite grepa.

Odprite besedilno datoteko v urejevalniku besedil. Pritisnite Ctrl + F, da odprete iskalno vrstico.

Poiščite besedilo v datotekah s kodo VS

Visual Studio Code je zmogljiv urejevalnik besedil s številnimi funkcijami. Optimiziran je za uporabo programerjev, kot da je polnopravna IDE. Na voljo je v skoraj vseh večjih distribucijah Linuxa.

Namestite snap paket Visual Studio Code.

$sudosnapnamestiteKoda-klasično

Odprite besedilno datoteko v kodi VS. Pritisnite Ctrl + F za začetek iskanja.

Končne misli

Obstaja več načinov iskanja besedila v datotekah. To je lahka naloga za obvladovanje. Močno je priporočljivo obvladati ukaz grep, ker ponuja največjo vrednost v smislu učinkovitosti in enostavnosti uporabe.

Če imate raje grafični vmesnik, lahko izbirate med številnimi urejevalniki besedil. Vsak sodoben urejevalnik besedil ponuja možnost iskanja besedila.

Veselo računalništvo!