Nagu grepi nimigi ütleb, kirjeldatakse otsitavat mustrit regulaaravaldise abil. Regulaaravaldus on spetsiaalne stringi tüüp, mis kirjeldab mustrit sobitamiseks, leidmiseks ja haldamiseks. Grepi ja regulaaravaldise kohta lisateabe saamiseks vaadake regulaaravaldisega grep ja egrep.
Haarake demonstratsiooni eesmärgil tekstifaili näidis. Selles näites laadige alla GNU General Public License v3.0 tekstifaili.
Põhiline otsing
Põhiline viis grepi kasutamiseks on põhistringi otsimine.
Vaadake järgmist käsku grep. See otsib tekstifailist sõna “GNU”.
$ grep "GNU" gpl-3.0.txt
Rea numbri kuvamiseks kasutage lippu -n.
$ grep -n “GNU” gpl-3.0.txt
Suur- ja väiketähtedeta otsingu tegemiseks grepi abil kasutage lippu -i.
$ grep -ni “gnu” gpl-3.0.txt
Võib-olla ei soovi te otsingu vasteid näha, vaid mõnes olukorras ainult failinime, kus vaste toimus. Ainult failinime printimiseks kasutage lippu -l. Tärn tähistab siin kõigi praeguses kataloogis olevate tekstifailide kasutamist.
$ grep -l “gnu” *
Võime ka teiste käskude väljundi grepida.
$ kass gpl-3.0.txt | grep -n "GNU"
Regulaarne väljend
Regex pakub nutikat viisi otsingu täpsemaks reguleerimiseks. Sellel on oma reeglid. Kuid erinevad rakendused ja programmeerimiskeeled rakendavad regulaaravaldist erinevalt. Siin on paar näidet, mida saate grepiga kasutada.
Selle määratlemiseks, et string tuleb leida rea alguses, kasutage sümbolit caret (^).
$ grep -n “^ GNU” gpl-3.0.txt
Kui soovite määratleda, kas string asub rea lõpus, kasutage dollarimärki ($).
$ grep -n "kuni $" gpl-3.0.txt
Kirjeldamaks, et mustri teatud asukohas võib olla mis tahes tähemärk, kasutage punktmärki (.). Näiteks väljend „G.U ”kehtib, kui tähtede“ G ”ja“ U ”vahel on mõni märk.
$ grep -n “G.U ”gpl-3.0.txt
Kasutage sulgudes ([]) selle kirjeldamiseks, et mustri kindlas kohas võib olla märkide alamhulk. Näiteks ütleb väljend “t [wo] o”, et vaste kehtib ainult “kahe” ja “liiga” puhul.
$ grep -n “t [wo] o” gpl-3.0.txt
Laiendatud regulaarne väljend
Nagu nimigi ütleb, saab laiendatud regulaaravaldisega teha keerulisemaid asju kui põhiregulatsioonidega. Laiendatud regulaaravaldise kasutamiseks koos grep-iga peate kasutama lippu -E.
$ grep -nE Kahe erineva stringi otsimiseks kasutage operaatoreid OR (|).
$ grep -nE “GNU | Üldine | Litsents” gpl-3.0.txt
Teksti otsimine failidest
Nüüd tuleb põhiosa. Selle asemel, et käskida failil grep otsingu sooritamiseks, saab grep seda teha automaatselt. Järgmises käsus kasutab grep mustri otsimiseks kõiki praeguses kataloogis saadaolevaid tekstifaile.
$ grep * Kui soovite otsida teises kataloogis, peate määrama asukoha.
$ grep
Kui kaustu on, ei uuri grep neid vaikimisi. Kui soovite grepil rekursiivselt otsida, kasutage lippu -R.
$ grep -nR
Grep GUI
Kui eelistate töötada GUI-ga, kuid soovite siiski nautida grepi funktsioone, vaadake otsinguklahvi. See on grepi jaoks esiotsa lahendus. Pakett on saadaval peaaegu kõigis suuremates Linuxi distros.
Nano abil saate failidest teksti leida
GNU Nano on lihtne ja võimas tekstiredaktor, mis on varustatud mis tahes Linuxi distributsiooniga. Sellel on sisseehitatud funktsioonid teksti otsimiseks tekstifailist.
Pange tähele, et selles meetodis peate avama tekstifaili ja otsima käsitsi. See on teostatav, kui töötamiseks on ainult käputäis tekstifaile. Kui neid on rohkem, on grepi kasutamine kõige optimaalsem valik.
Avage tekstifail nanos.
$ nano
Stringivaste otsimiseks vajutage klahvikombinatsiooni „Ctrl + W”. Pärast otsitava stringi sisestamist vajutage sisestusklahvi.
Vimiga saate failidest teksti leida
Vim on tuntud ja mainekas tekstiredaktor. See on kaasaegse tekstiredaktori käsurea ekvivalent. Vimil on arvukalt 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.
Tekstifailist otsimiseks avage see kõigepealt Vimis.
$ vim
Sisestage järgmine käsk Vim ja vajutage "Enter".
$: /
GNOME'i tekstiredaktori abil saate failidest teksti leida
GNOME-i tekstiredaktor on GNOME-i töölauaga kaasas olev tekstiredaktor. See on lihtsustatud tekstiredaktor, millel on kõik eeldatavad põhifunktsioonid. See on mõnus alternatiiv käsurea tekstiredaktoritele.
Sarnaselt nano ja vimiga kehtib sama ettevaatus selle meetodi suhtes. Kui tekstifailide arv on suur, siis parem jääda grepiga.
Avage tekstifail tekstiredaktoris. Otsinguriba kuvamiseks vajutage klahvikombinatsiooni Ctrl + F.
VS-koodi abil saate failidest teksti leida
Visual Studio Code on võimas tekstiredaktor, millel on palju funktsioone. See on programmeerijate jaoks optimeeritud kasutamiseks justkui täieõiguslik IDE. See on saadaval peaaegu kõigis suuremates Linuxi distros.
Installige Visual Studio Code snap-pakett.
$ sudo kiirpaigalduskood - klassika
Avage tekstifail VS-koodis. Otsingu alustamiseks vajutage klahvikombinatsiooni "Ctrl + F".
Lõpumõtted
Failides teksti otsimiseks on palju võimalusi. See on lihtne ülesanne omandada. On tungivalt soovitatav hallata käsk grep, kuna see pakub kõige rohkem väärtust tõhususe ja kasutusmugavuse osas.
Kui eelistate graafilist kasutajaliidest, on valida paljude tekstiredaktorite vahel. Kõik tänapäevased tekstiredaktorid pakuvad tekstiotsingu valikut.
Head arvutamist!