Kao što naziv grep sugerira, obrazac za pretraživanje opisuje se pomoću regularnog izraza. Regularni izraz posebna je vrsta niza koja opisuje obrazac koji se podudara, locira i upravlja. Da biste saznali više o grepu i regularnom izrazu, pogledajte upotrebu grepa i egrepa s regularnim izrazom.
U demonstracijske svrhe uzmite uzorak tekstne datoteke. U ovom primjeru preuzmite GNU General Public License v3.0 tekstualna datoteka.
Osnovno pretraživanje
Temeljni način upotrebe grepa je traženje osnovnog niza.
Pogledajte sljedeću grep naredbu. Tražit će riječ "GNU" u tekstualnoj datoteci.
$ grep "GNU" gpl-3.0.txt
Da biste prikazali broj retka, upotrijebite zastavicu "-n".
$ grep -n “GNU” gpl-3.0.txt
Da biste izvršili pretragu bez velikih i malih slova pomoću grepa, upotrijebite zastavicu "-i".
$ grep -ni “gnu” gpl-3.0.txt
Možda ne želite vidjeti podudaranja pretraživanja, već samo naziv datoteke u kojoj se podudaranje dogodilo u nekim situacijama. Da biste ispisali samo naziv datoteke, upotrijebite zastavicu "-l". Ovdje zvjezdica označava upotrebu svih tekstualnih datoteka u trenutnom direktoriju.
$ grep -l “gnu” *
Također možemo usmjeriti izlaz drugih naredbi u grep.
$ mačka gpl-3.0.txt | grep -n “GNU”
Regularni izraz
Regex nudi pametan način preciznog podešavanja pretraživanja. Ima svoja pravila. Međutim, različite aplikacije i programski jezici različito implementiraju regularni izraz. Evo nekoliko primjera koje možete koristiti s grepom.
Da biste definirali da se niz nalazi na početku retka, upotrijebite simbol karata (^).
$ grep -n “^ GNU” gpl-3.0.txt
Da biste definirali da se niz nalazi na kraju retka, upotrijebite znak dolara ($).
$ grep -n "do $" gpl-3.0.txt
Da biste opisali da na određenom mjestu uzorka može biti bilo koji znak, upotrijebite znak razdoblja (.). Na primjer, izraz „G.U "vrijedi ako postoji bilo koji znak između" G "i" U ".
$ grep -n “G.U ”gpl-3.0.txt
Da biste opisali da na određenom mjestu uzorka može postojati podskup znakova, upotrijebite zagrade ([]). Na primjer, izraz "t [wo] o" govori da podudaranje vrijedi samo za "dva" i "previše".
$ grep -n "t [wo] o" gpl-3.0.txt
Prošireni regularni izraz
Kao što i samo ime govori, prošireni regularni izraz može raditi složenije stvari od osnovnih regularnih izraza. Da biste koristili prošireni regularni izraz s grepom, morate upotrijebiti zastavicu "-E".
$ grep -nE Za traženje dva različita niza upotrijebite operatore OR (|).
$ grep -nE “GNU | Općenito | Licenca” gpl-3.0.txt
Pronalaženje teksta u datotekama
Sada dolazi glavni dio. Umjesto da ručno kaže grep datoteci da izvrši pretragu, grep to može učiniti automatski. U sljedećoj naredbi grep će koristiti sve dostupne tekstualne datoteke u trenutnom direktoriju za traženje uzorka.
$ grep * Ako želite grep izvršiti pretraživanje u drugom direktoriju, tada morate odrediti mjesto.
$ grep
Ako postoje mape, grep ih prema zadanim postavkama ne istražuje. Da biste rekli grepu da rekurzivno pretražuje, upotrijebite zastavicu "-R".
$ grep -nR
Grep GUI
Ako više volite raditi s GUI-jem, ali i dalje želite uživati u grepovim značajkama, pogledajte checkmonkey. To je prednje rješenje za grep. Paket je dostupan na gotovo svim glavnim Linux distribucijama.
Pronađite tekst u datotekama pomoću nano-a
GNU Nano je jednostavan i moćan uređivač teksta koji dolazi s bilo kojim Linux distribucijskim sustavom. Ima ugrađene značajke za pretraživanje teksta u tekstualnoj datoteci.
Imajte na umu da u ovoj metodi morate otvoriti tekstualnu datoteku i pretraživati ručno. Izvedivo je ako postoji samo nekolicina tekstualnih datoteka s kojima možete raditi. Ako ih ima više, tada je najoptimalniji izbor upotreba grepa.
Otvorite tekstnu datoteku u nano-u.
$ nano
Da biste potražili podudaranje niza, pritisnite "Ctrl + W". Nakon što upišete niz za pretraživanje, pritisnite "Enter".
Pronađite tekst u datotekama pomoću Vima
Vim je poznati i cijenjeni urednik teksta. To je ekvivalent naredbenog retka modernog uređivača teksta. Vim dolazi s brojnim naprednim značajkama poput dodataka, makronaredbi, automatskog dovršavanja, filtara itd.
Slično kao nano, Vim istovremeno radi s jednom datotekom. Ako imate više tekstualnih datoteka, tada je najoptimalniji način upotrebe grep.
Da biste pretraživali tekstualnu datoteku, prvo je otvorite u Vimu.
$ vim
Unesite sljedeću Vim naredbu i pritisnite "Enter".
$: /
Pronađite tekst u datotekama pomoću GNOME Text Editor-a
GNOME Text Editor je uređivač teksta koji dolazi s radnom površinom GNOME. To je pojednostavljeni uređivač teksta sa svim osnovnim značajkama koje biste očekivali. To je lijepa alternativa uređivačima teksta naredbenog retka.
Slično nano i vim, isti se oprez odnosi i na ovu metodu. Ako je broj tekstualnih datoteka velik, onda se bolje držite grepa.
Otvorite tekstualnu datoteku u programu za uređivanje teksta. Pritisnite "Ctrl + F" da biste otvorili traku za pretraživanje.
Pronađite tekst u datotekama pomoću VS koda
Visual Studio Code moćan je uređivač teksta s mnoštvom značajki. Optimiziran je za programere koji se koriste kao da je to punopravni IDE. Dostupan je na gotovo svim glavnim Linux distribucijama.
Instalirajte snap paket Visual Studio Code.
$ sudo snap instalacijski kôd --classic
Otvorite tekstualnu datoteku u VS kodu. Pritisnite "Ctrl + F" da biste započeli pretraživanje.
Završne misli
Postoje brojni načini pretraživanja teksta u datotekama. Lako je savladati zadatak. Preporučuje se svladavanje grep naredbe jer nudi najveću vrijednost u pogledu učinkovitosti i jednostavnosti upotrebe.
Ako više volite GUI, na raspolaganju su brojni uređivači teksta. Bilo koji moderni uređivač teksta pružit će mogućnost pretraživanja teksta.
Sretno računanje!