__БЕЗКН__ -{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)

Категорија:Команде јуникса