Kuidas leida teksti failidest Linuxis

How Find Text Files Linux

Süsteemiadministraatori jaoks on tekstifailidega töötamine tavaline nähtus. Võib -olla peate leidma logifailide hunnikutest konkreetse jaotise, et midagi tõrkeotsingut teha? Või peate kiiresti leidma dokumendi, mis sisaldab olulist teavet?

Linuxi puhul on failidest tekstide leidmiseks palju meetodeid. See on võimalik nii sisseehitatud tööriistade kui ka kolmanda osapoole rakenduste abil. Vaadake, kuidas Linuxis failidest tekste leida.



Teksti leidmine failidest

Sõltuvalt failide arvust, millel peate otsingu tegema, on tekstiotsingu teostamiseks kaks võimalust: automaatne või käsitsi. Kui peate töötama paari tekstifailiga, on käsitsi otsimine sobivam. Kui aga tekstifaile on sadu, on automaatotsing kõige tõhusam.



Automaatse otsingu jaoks kasutame grepi. Grep on eelinstallitud mis tahes Linuxi distributsioonile. Mis puutub käsitsi otsimisse, siis iga kaasaegne tekstiredaktor teeb selle töö ära.



Otsige failidest teksti grep abil

Linuxis on grep vaikimisi tööriist tekstide otsimiseks. Selle nimi on tuletatud käsust ed/g/re/p, mis tähistab regulaaravaldise globaalset otsimist ja vastavate ridade printimist. See on saadaval mis tahes kaasaegses Linuxi distributsioonis.

Grep on käsurea tööriist. Selle juhtimisstruktuur on järgmine.

$haaret <valik> <regulaarne_väljend> <faili teekond>

Nagu grepi nimigi ütleb, kirjeldatakse otsitavat mustrit regulaaravaldise abil. Regulaaravaldis on spetsiaalne stringitüüp, mis kirjeldab sobitamiseks, leidmiseks ja haldamiseks mustrit. Grep ja regulaaravaldise kohta lisateabe saamiseks vaadake kasutades regulaaravaldisega grep ja egrep .



Demonstreerimiseks otsige näidistekstifail. Selles näites laadige alla GNU General Public License v3.0 tekstifail .

Põhiline otsing

Põhiline grepi kasutamise viis on otsida põhistringi.

Vaadake järgmist käsku grep. See otsib tekstifailist sõna GNU.

$haaret 'GNU'lpg-3.0.txt

Reanumbri näitamiseks kasutage lippu -n.

$haaret -nGNU gpl-3.0.txt

Väiketähtedeta otsingu tegemiseks grepi abil kasutage lippu -i.

$haaret -nignu gpl-3.0.txt

Te ei pruugi soovida näha otsinguvasteid, vaid ainult faili nime, kus vaste teatud olukordades aset leidis. Ainult failinime printimiseks kasutage lippu -l. Siin tähistab tärn kõigi praeguse kataloogi tekstifailide kasutamist.

$haaret -neidgnu*

Võime suunata ka teiste käskude väljundi grep -i.

$kasslpg-3.0.txt| haaret -nGNU

Regulaarne väljendus

Regex pakub nutikat viisi otsingu peenhäälestamiseks. Sellel on oma reeglid. Kuid erinevad rakendused ja programmeerimiskeeled rakendavad regulaaravaldist erinevalt. Siin on paar näidet, mida saate grepiga kasutada.

Määratlemaks, et string tuleb leida rea ​​algusest, kasutage sümbolit caret (^).

$haaret -n^ GNU gpl-3.0.txt

Selleks, et määratleda, et string leidub rea lõpus, kasutage dollarimärki ($).

$haaret -nkuni $ gpl-3.0.txt

Kirjeldamaks, et mustri teatud kohas võib olla mis tahes tähemärki, kasutage punktmärki (.). Näiteks avaldis G.U kehtib juhul, kui G ja U vahel on märke.

$haaret -nG.U gpl-3.0.txt

Kirjeldamaks, et mustri teatud kohas võib olla tähemärkide alamhulk, kasutage sulgusid ([]). Näiteks väljend t [wo] o ütleb, et vaste kehtib ainult kahele ja liiga.

$haaret -nt[Kus]o gpl-3.0.txt

Laiendatud regulaaravaldis

Nagu nimigi ütleb, võib laiendatud regulaaravaldis teha keerulisemaid asju kui põhilised regulaaravaldised. Laiendatud regulaaravaldise kasutamiseks koos grepiga peate kasutama lippu -E.

$haaret -sündinud <laiendatud_regex> <faili>

Kahe erineva stringi otsimiseks kasutage VÕI operaatoreid (|).

$haaret -sündinudGNU|üldine|Litsents gpl-3.0.txt

Teksti leidmine failidest

Nüüd tuleb põhiosa. Selle asemel, et käskida failil grep käsitsi otsingut tegema, saab grep seda teha automaatselt. Järgmises käsus kasutab grep mustri otsimiseks kõiki praeguses kataloogis saadaolevaid tekstifaile.

$haaret <regulaaravaldis> *

Kui soovite otsida teises kataloogis, peate määrama asukoha.

$haaret <regulaaravaldis> <kataloogi_tee>

Kui on kaustu, siis grep neid vaikimisi ei uuri. Selleks, et grep saaks rekursiivselt otsida, kasutage lippu -R.

$haaret -nR <regulaaravaldis> <kataloogi_tee>

Grip GUI

Kui eelistate töötada graafilise kasutajaliidesega, kuid soovite siiski grepi funktsioone nautida, siis vaadake searchmonkey. See on grepi esipaneeli lahendus. Pakett on saadaval peaaegu kõigis suuremates Linuxi distributsioonides.

Otsige failidest teksti nano abil

GNU Nano on lihtne ja võimas tekstiredaktor, mis on kaasas mis tahes Linuxi distributsiooniga. Sellel on sisseehitatud funktsioonid tekstifailist teksti otsimiseks.

Pange tähele, et selle meetodi puhul peate tekstifaili avama ja käsitsi otsima. See on teostatav, kui töötada on vaid käputäis tekstifaile. Kui neid on rohkem, on grepi kasutamine kõige optimaalsem valik.

Avage tekstifail nanos.

$nano <faili teekond>

Stringivaste otsimiseks vajutage klahvikombinatsiooni Ctrl + W. Pärast otsitava stringi sisestamist vajutage sisestusklahvi.

Otsige failidest teksti Vimi abil

Vim on tuntud ja mainekas tekstiredaktor. See on kaasaegse tekstiredaktori käsurea vaste. Vimil on palju lisafunktsioone, nagu pistikprogrammid, makrod, automaatne täitmine, filtrid jne.

Sarnaselt nanoga töötab Vim korraga ühe failiga. Kui teil on mitu tekstifaili, on grepi kasutamine kõige optimaalsem viis.

Tekstifailis otsimiseks avage see esmalt Vimis.

$ma tulin <faili teekond>

Sisestage järgmine Vim -käsk ja vajutage sisestusklahvi.

$:/<otsingutermin>

Otsige failidest teksti GNOME tekstiredaktori abil

GNOME tekstiredaktor on GNOME töölauaga kaasas olev tekstiredaktor. See on lihtsustatud tekstiredaktor, millel on kõik põhilised funktsioonid, mida võiksite oodata. See on kena alternatiiv käsurea tekstiredaktoritele.

Sarnaselt nano ja vim -iga kehtib ka selle meetodi puhul sama ettevaatus. Kui tekstifailide arv on suur, jääge parem grepi juurde.

Avage tekstifail tekstiredaktoris. Otsinguriba avamiseks vajutage Ctrl + F.

Otsige failidest teksti VS -koodi abil

Visual Studio Code on võimas tekstiredaktor, millel on palju funktsioone. See on optimeeritud programmeerijate jaoks, nagu oleks see täisväärtuslik IDE. See on saadaval peaaegu kõigis suuremates Linuxi distributsioonides.

Installige Visual Studio Code'i kiirpakett.

$sudoklõpspaigaldadakoodi-klassika

Avage tekstifail VS -koodis. Otsingu alustamiseks vajutage Ctrl + F.

Lõplikud mõtted

Failidest teksti otsimiseks on mitmeid viise. Selle valdamine on lihtne ülesanne. Soovitatav on hallata käsku grep, kuna see pakub tõhususe ja kasutusmugavuse osas kõige rohkem väärtust.

Kui eelistate graafilist kasutajaliidest, saate valida paljude tekstiredaktorite hulgast. Iga kaasaegne tekstiredaktor pakub tekstiotsingu võimalust.

Head arvutamist!