__БЕЗКН__ -{grep}- je alat komandne linije za pretraživanje teksta prvobitno napisan za juniks. Ime sačinjavaju prva slova serije instrukcija za editor teksta -{ed}-: -{global}-, -{regular expression}- i -{print}-. Naredba grep pretražuje datoteke ili standardni ulaz, tražeći redove teksta koji odgovaraju zadatom regularnom izrazu, i ispisuje ih na standardni izlaz.
Upotreba Ovo je primer upotrebe komande -{grep}-:
grep zub nazivi.txt
U ovom konkretnom slučaju, -{grep}- štampa sve redove iz datoteke -{nazivi.txt}- koji sadrže nisku „zub“, bez obzira na granice reči, pa su tako redovi koji sadrže reč „zubar“ ili „krezub“ takođe odštampane. Komanda -{grep}- je generalno osetljiva na veličinu slova (), tako da se u ovom primeru na izlazu ne nalaze redovi koji sadrže nisku „Zub“ (sa velikim „Z“) osim, naravno, ako ne sadrže i „zub“.
Kao i većina komandi juniksa, -{grep}- podržava argumente komandne linije, koji mogu da promene njegovo ponašanje. Na primer:
grep -i zub nazivi.txt
Gore navedena komanda štampa sve redove teksta koji sadrže „zub“, ne praveći razliku između velikih i malih slova. Argument -{-i}- kaže -{grep}--u da ne pravi (ignoriše) razliku između malih i velikih slova.
Da bi na izlazu bile samo linije koje sadrže „zub“ kao reč (ne i one koje sadrže samo „Zubar“ i sl.), može se zadati opcija -{-w}-:
grep -w zub nazivi.txt
Varijacije Postoji jako veliki broj implementacija i derivata komande -{grep}-, dostupnih za razne operativne sisteme, kao i za olakšavanje pretraživanja u nekim nezavisnim aplikacijama kao npr. -{EnCase}- (forenzički softver). Među ranim verzijama ove komande možemo izdvojiti -{egrep}- i -{fgrep}-. -{Egrep}- koristi proširenu sintaksu regularnih izraza koja je dodata Juniksu nakon prvobitne implementacije regularnih izraza Kena Tompsona. -{Fgrep}- pretražuje bilo kakvu listu „fiksiranih“ niski koristeći Aho-Korasik algoritam. Mogućnosti i jedne i druge verzije mogu se koristiti u skoro svim modernim implementacijama komande -{grep}-, koristeći opcije -{-E}- i -{-F}-. U takvim implementacijama, -{grep}- se ponaša drugačije u zavisnosti od imena kojim je pozvan, jer dozvoljava da sa -{fgrep}-, -{egrep}- i -{grep}- bude pozvan isti program.
-{pcregrep}- je jedna od implementacija komande -{grep}- koja koristi sintaksu Perlovih regularnih izraza.
Ostale komande koje sadrže reč „-{grep}-“ time navode da pretražuju (najčešće reguralnim izrazima). Alat -{pgrep}-, na primer, izdvaja procese čija imena odgovaraju zadatom regularnom izrazu.
U Perlu, -{grep}- je ugrađena funkcija koja pronalazi elemente u listi. U funkcionalnim programskim jezicima, ova funkcija višeg reda se često naziva i „filter“.
Platforme -{DOS}-, -{OS/2}- i Microsoft Windows podržavaju komandu pronađi za jednostavno pretraživanje niski. Windows podržava i komandu -{findstr}- koja radi dosta slično komandi -{grep}-.
Upotreba u razgovoru Reč „-{grep}-“ ne postoji u srpskom jeziku, ali se u engleskom jeziku može upotrebljavati i kao glagol, sa značenjem pretražiti.
U decembru 2003, -{Oxford English Dictionary Online}- je dodao stavku za reč „-{grep}-“, koja predstavlja i imenicu i glagol.
Česta fraza „-{You can't grep dead trees}-“ (bukvalno: Ne možeš „grepovati“ mrtvo drveće), predstavlja prednost digitalnog teksta u odnosu na štampani, jer se lako pretražuje.
Vidi još Regularni izrazi Bojer-Murov algoritam za pretraživanje niski Spisak komandi juniksa
Reference
Literatura
Hume, Andrew , Software—Practice and Experience 18, ( 11 ), 1063–1072 ( 1988).
Spoljašnje veze GNU grep (немачки) Upotreba komande -{grep}- u okviru dokumentacije projekta -{LINFO}- (Linux Information Project) Najčešće korišćeni alati komandne linije (-{IBM}-) Egrep za lingviste , detaljan vodič za -{egrep}- -{OSRD.org}-: Pregled različitih verzija komande -{grep}- Upotreba komande -{grep}- na sajtu GNU Brian Kernighan Remembers the Origins of ‘grep’ (22. jul 2018)
Категорија:Команде јуникса