Grep

grep, հրամանի տողով աշխատող ծրագիր, որը գնտում է մուտքային տողեր, որոնք պատասխանատու են տրված կանոնավոր արտահայտություններ համար, և արտածում է դրանք, եթե արտածումը կասեցված չէ հատուկ բանալու միջոցով։ Անունը առաջացել է անգլերեն «search globally for lines matching the regular expression, and print them» նախադասաությունից, որը թարգմանվում ինչպես՝ «ամենուրեք փնտրել տողեր, որոնք համապատասխանում են կանոնավոր արտահայտությանը և արտածել դրանք»։

Սկզբնական տարբերակը նախատեսված է եղել UNIX օպերացիոն համակարգերի համար։

Գոյություն ունի grep-ի տարատեսակներ՝ egrep (մշակումը է  ընդլայնված կանոնավոր արտահայտությունները), fgrep (նիշերով՝ $*[]^|()\), rgrep (որը իր մեջ պարունակաում է ռեկուսրիվ որոնում)։ Ինչպես ասվում է  man-ում՝ «egrep — նույն է, ինչ grep -E։ fgrep — նույն է, ինչ grep -F։ rgrep — նույն է, ինչ grep -r»։

Պատմություն 
Ծրագիրը գրվել է Քեն Թոմփսոնի կողմից, որպես ֆայլերի որոնման ծրագիր։ Նրան դիմել է իր մենեջեր Դագ Մաքիլրոյը, ով հետաքրքրվել է ծրագրի արսենալով։ Թոմփսոնը պատասխանեց, որ նա կմտածի այդ մասին մեկ ժամ, սակայն այդ ընթացքում նա ուղում էր սխալներ և կատարում էր բարելավումներ։ Հաջորդ օրը նա Մաքիլյրոյին ներկայացրեց grep-ը և նա ասաց, որ դա այն է ինչ նա ուզում է։ Թոփսոնի զեկույցը կարող է պարզաբանել, թե ինչու է grep-ը գրվել գիշերը։

Այսպիսով ծրագրի առաջին տարբերակը գրվել է Քեն Թոմփսոնի կողմից PDP-11 լեզվով, որը պետք է օգներ Լի Է․ ՄաքՄահոնին վերլուծել ֆեդերալիստական թերթերը՝ որոշելու անհատական թերթերի հեղինակությունը։

Օրինակ 
Հաջորդ օրինակում պատկերված է grep հրամանի տրադրած տվյալները տարբեր փաստարկների դեպքում․
$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

$ grep -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
12:operator:x:11:0:operator:/root:/sbin/nologin

$ grep -c false /etc/passwd
7

Ծանոթագրություններ

Արտաքին հղղումներ 
 GNU Grep պաշտոնական կայք
 GNU Grep manual
 "why GNU grep is fast" - implementation details from GNU grep's author.
 Network grep - A packet analyzer used to match patterns at the network layer
 Command Grep – 25 practical examples

Յունիքս
UNIX ծրագրային ապահովում
Լինուքս
Ազատ ծրագրային ապահովում
Ինֆորմատիկա