Grep
grep је алат командне линије за претраживање текста првобитно написан за јуникс. Име сачињавају прва слова серије инструкција за едитор текста ed: global, regular expression и print.[1]
Наредба grep
претражује датотеке или стандардни улаз, тражећи редове текста који одговарају задатом регуларном изразу, и исписује их на стандардни излаз.
Употреба
[уреди | уреди извор]Ово је пример употребе команде grep:
grep zub nazivi.txt
У овом конкретном случају, grep штампа све редове из датотеке nazivi.txt који садрже ниску „зуб“, без обзира на границе речи, па су тако редови који садрже реч „зубар“ или „крезуб“ такође одштампане. Команда grep је генерално осетљива на величину слова (енгл. case sensitive), тако да се у овом примеру на излазу не налазе редови који садрже ниску „Зуб“ (са великим „З“) осим, наравно, ако не садрже и „зуб“.
Као и већина команди јуникса, grep подржава аргументе командне линије, који могу да промене његово понашање. На пример:
grep -i zub nazivi.txt
Горе наведена команда штампа све редове текста који садрже „зуб“, не правећи разлику између великих и малих слова. Аргумент -i каже grep-у да не прави (игнорише) разлику између малих и великих слова.
Да би на излазу биле само линије које садрже „зуб“ као реч (не и оне које садрже само „Зубар“ и сл.), може се задати опција -w:
grep -w zub nazivi.txt
Варијације
[уреди | уреди извор]Постоји јако велики број имплементација и деривата команде grep, доступних за разне оперативне системе, као и за олакшавање претраживања у неким независним апликацијама као нпр. EnCase (форензички софтвер). Међу раним верзијама ове команде можемо издвојити egrep и fgrep. Egrep користи проширену синтаксу регуларних израза која је додата Јуниксу након првобитне имплементације регуларних израза Кена Томпсона. Fgrep претражује било какву листу „фиксираних“ ниски користећи Ахо-Корасик алгоритам. Могућности и једне и друге верзије могу се користити у скоро свим модерним имплементацијама команде grep, користећи опције -E
и -F
. У таквим имплементацијама, grep се понаша другачије у зависности од имена којим је позван, јер дозвољава да са fgrep
, egrep
и grep
буде позван исти програм.
pcregrep је једна од имплементација команде grep која користи синтаксу Перлових регуларних израза.
Остале команде које садрже реч „grep“ тиме наводе да претражују (најчешће регуралним изразима). Алат pgrep, на пример, издваја процесе чија имена одговарају задатом регуларном изразу.
У Перлу, grep је уграђена функција која проналази елементе у листи. У функционалним програмским језицима, ова функција вишег реда се често назива и „филтер“.
Платформе DOS, OS/2 и Мицрософт Wиндоwс подржавају команду пронађи за једноставно претраживање ниски. Wиндоwс подржава и команду findstr
која ради доста слично команди grep.
Употреба у разговору
[уреди | уреди извор]Реч „grep“ не постоји у српском језику, али се у енглеском језику може употребљавати и као глагол, са значењем претражити.
У децембру 2003, Oxford English Dictionary Online је додао ставку за реч „grep“, која представља и именицу и глагол.
Честа фраза „You can't grep dead trees“ (буквално: Не можеш „греповати“ мртво дрвеће), представља предност дигиталног текста у односу на штампани, јер се лако претражује.
Види још
[уреди | уреди извор]Референце
[уреди | уреди извор]- ^ Раyмонд, Ериц. „греп”. Јаргон Филе. Приступљено 29. 6. 2006. Пронађени су сувишни параметри:
|аутхор=
и|ласт=
(помоћ)
Литература
[уреди | уреди извор]- Маглоире, Алаин (2000). Греп: Сеарцхинг фор а Паттерн. Иуниверсе Инц. ИСБН 978-0-595-10039-2.
- Хуме, Андреw А тале оф тwо грепс[мртва веза], Софтwаре—Працтице анд Еxпериенце 18, ( 11 ), 1063–1072 ( 1988).
- Хуме, Андреw (1988). „Греп wарс: Тхе стратегиц сеарцх инитиативе”. Ур.: Цоллинсон, Петер. Процеедингс оф тхе ЕУУГ Спринг 88 Цонференце. Бунтингфорд, УК: Еуропеан УНИX Усер Гроуп. стр. 237—245.
Спољашње везе
[уреди | уреди извор]- ГНУ греп (немачки) Архивирано на сајту Wayback Machine (8. јун 2017)
- Употреба команде grep у оквиру документације пројекта LINFO (Линуx Информатион Пројецт)
- Најчешће коришћени алати командне линије (IBM)
- Егреп за лингвисте Архивирано на сајту Wayback Machine (23. децембар 2007), детаљан водич за egrep
- OSRD.org: Преглед различитих верзија команде grep Архивирано на сајту Wayback Machine (6. јануар 2009)
- Употреба команде grep Архивирано на сајту Wayback Machine (2. фебруар 2009) na sajtu GNU
- Brian Kernighan Remembers the Origins of ‘grep’ (22. jul 2018)