Grep
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.[1]
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
[uredi | uredi izvor]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 (engl. case sensitive), 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
[uredi | uredi izvor]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
[uredi | uredi izvor]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š
[uredi | uredi izvor]Reference
[uredi | uredi izvor]- ^ Raymond, Eric. „grep”. Jargon File. Приступљено 29. 6. 2006. Пронађени су сувишни параметри:
|author=
и|last=
(помоћ)
Literatura
[uredi | uredi izvor]- Magloire, Alain (2000). Grep: Searching for a Pattern. Iuniverse Inc. ISBN 978-0-595-10039-2.
- Hume, Andrew A tale of two greps[мртва веза], Software—Practice and Experience 18, ( 11 ), 1063–1072 ( 1988).
- Hume, Andrew (1988). „Grep wars: The strategic search initiative”. Ур.: Collinson, Peter. Proceedings of the EUUG Spring 88 Conference. Buntingford, UK: European UNIX User Group. стр. 237—245.
Spoljašnje veze
[uredi | uredi izvor]- GNU grep (немачки) Архивирано на сајту Wayback Machine (8. јун 2017)
- Upotreba komande grep u okviru dokumentacije projekta LINFO (Linux Information Project)
- Najčešće korišćeni alati komandne linije (IBM)
- Egrep za lingviste Архивирано на сајту Wayback Machine (23. децембар 2007), detaljan vodič za egrep
- OSRD.org: Pregled različitih verzija komande grep Архивирано на сајту Wayback Machine (6. јануар 2009)
- Upotreba komande grep Архивирано на сајту Wayback Machine (2. фебруар 2009) na sajtu GNU
- Brian Kernighan Remembers the Origins of ‘grep’ (22. jul 2018)