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“ (буквално: Не можеш „греповати“ мртво дрвеће), представља предност дигиталног текста у односу на штампани, јер се лако претражује.

Види још уреди

Референце уреди

  1. ^ Ра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. 

Спољашње везе уреди