Kot pove že ime grep, je vzorec za iskanje opisan z regularnim izrazom. 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 uporabo grep in egrep z regularnim izrazom.
Za predstavitvene namene vzemite vzorčno besedilno datoteko. V tem primeru prenesite GNU General Public License v3.0 besedilno datoteko.
Osnovno iskanje
Temeljni način uporabe grepa je iskanje osnovnega niza.
Oglejte si naslednji ukaz grep. V besedilni datoteki bo poiskala besedo "GNU".
$ grep "GNU" gpl-3.0.txt
Za prikaz številke vrstice uporabite zastavico “-n”.
$ grep -n “GNU” gpl-3.0.txt
Če želite z uporabo grep uporabiti iskanje brez razlikovanja med velikimi in malimi črkami, uporabite zastavico “-i”.
$ grep -ni “gnu” gpl-3.0.txt
Morda ne boste želeli videti iskalnih zadetkov, ampak samo ime datoteke, kjer se je ujemanje zgodilo v nekaterih primerih. Če želite natisniti samo ime datoteke, uporabite zastavico -l. Z zvezdico je tukaj označena uporaba vseh besedilnih datotek v trenutnem imeniku.
$ grep -l “gnu” *
Izhod drugih ukazov lahko usmerimo tudi v grep.
$ mačka gpl-3.0.txt | grep -n “GNU”
Vsakdanje izražanje
Regex ponuja pameten način za natančno nastavitev iskanja. Ima svoja pravila. Vendar različne aplikacije in programski jeziki različno izvajajo regularne izraze. Tu je nekaj primerov, ki jih lahko uporabite z grep.
Če želite določiti, da najdemo niz na začetku vrstice, uporabite znak za oznako (^).
$ grep -n “^ GNU” gpl-3.0.txt
Če želite določiti, da je niz na koncu vrstice, uporabite znak za dolar ($).
$ grep -n “do $” gpl-3.0.txt
Če želite opisati, da je na določeni lokaciji vzorca lahko kateri koli znak, uporabite znak s piko (.). Na primer izraz „G.U "velja, če je med" G "in" U "kakšen znak.
$ grep -n “G.U ”gpl-3.0.txt
Če želite opisati, da je na določeni lokaciji vzorca lahko podnabor znakov, uporabite oklepaje ([]). Na primer izraz "t [wo] o" pove, da ujemanje velja samo za "dva" in "preveč".
$ grep -n "t [wo] o" gpl-3.0.txt
Razširjeni regularni izraz
Kot že ime pove, lahko razširjeni regularni izraz naredi bolj zapletene stvari kot osnovni regularni izrazi. Če želite uporabiti razširjeni regularni izraz z grep, morate uporabiti zastavico “-E”.
$ grep -nE Za iskanje dveh različnih nizov uporabite operatorje OR (|).
$ grep -nE “GNU | Splošno | Licenca” gpl-3.0.txt
Iskanje besedila v datotekah
Zdaj prihaja glavni del. Namesto da bi grep datoteki grep naročil, naj izvede iskanje, lahko grep to naredi samodejno. V naslednjem ukazu bo grep za iskanje po vzorcu uporabil vse razpoložljive besedilne datoteke v trenutnem imeniku.
$ grep * Če želite grep opraviti iskanje v drugem imeniku, morate določiti lokacijo.
$ grep
Če obstajajo mape, jih grep privzeto ne razišče. Če želite, da grep rekurzivno išče, uporabite zastavico “-R”.
$ grep -nR
Grep GUI
Če želite raje delati z grafičnim uporabniškim vmesnikom, a še vedno želite uživati v funkcijah grepa, si oglejte searchmonkey. To je čelna rešitev za grep. Paket je na voljo na skoraj vseh glavnih distribucijah Linuxa.
Poiščite besedilo v datotekah z uporabo 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. Izvedljivo je, če je le nekaj besedilnih datotek za delo. Če je še več, je uporaba grepa najbolj optimalna izbira.
Odprite besedilno datoteko v nano.
$ nano
Če želite poiskati ujemanje nizov, pritisnite “Ctrl + W”. Ko vnesete niz za iskanje, pritisnite tipko "Enter".
Poiščite besedilo v datotekah z uporabo Vima
Vim je znan in cenjen urejevalnik besedil. 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, Vim hkrati deluje z eno samo datoteko. Če imate več besedilnih datotek, je uporaba grepa najbolj optimalen način.
Če želite iskati v besedilni datoteki, jo najprej odprite v Vim.
$ vim
Vnesite naslednji ukaz Vim in pritisnite "Enter".
$: /
Poiščite besedilo v datotekah z urejevalnikom besedil GNOME
Urejevalnik besedil GNOME je urejevalnik besedil, ki je priložen namizju GNOME. To je poenostavljen urejevalnik besedil z vsemi osnovnimi funkcijami, ki jih pričakujete. To je lepa alternativa urejevalnikom besedil v ukazni vrstici.
Podobno kot pri nano in vim tudi pri tej metodi velja enaka previdnost. Če je število besedilnih datotek veliko, raje upoštevajte grep.
Odprite besedilno datoteko v urejevalniku besedil. Pritisnite "Ctrl + F", da odprete vrstico za iskanje.
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 gre za polnopravni IDE. Na voljo je na skoraj vseh glavnih distribucijah Linuxa.
Namestite paket za pripenjanje kode Visual Studio.
$ sudo snap namestitvena koda --classic
Odprite besedilno datoteko v VS Code. Pritisnite “Ctrl + F”, da začnete iskati.
Zadnje misli
Obstaja veliko načinov za iskanje besedila v datotekah. To je lahka naloga, da jo obvladate. Priporočljivo je obvladati ukaz grep, ker ponuja največjo vrednost v smislu učinkovitosti in enostavnosti uporabe.
Če imate raje GUI, lahko izbirate med številnimi urejevalniki besedil. Vsak sodoben urejevalnik besedil bo omogočil možnost iskanja besedila.
Srečno računalništvo!