Grep

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Jump to navigation Jump to search
Grep example.png
ՏեսակUNIX օգտակարություն
ՀեղինակՔեն Թոմփսոն
Նախագծումը՝Քեն Թոմփսոն
ՕՀՅունիքս և Յունիքսանման օպերացիոն համակարգ
Լույս տեսավ՝1974
ԱրտոնագիրGNU GPL
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-ը գրվել գիշերը[1]։

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

Օրինակ[խմբագրել | խմբագրել կոդը]

Հաջորդ օրինակում պատկերված է 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

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]

Արտաքին հղղումներ[խմբագրել | խմբագրել կոդը]