Grep
Տեսակ | UNIX օգտակարություն |
---|---|
Հեղինակ | Քեն Թոմփսոն |
Նախագծումը՝ | Քեն Թոմփսոն |
ՕՀ | Յունիքս և յունիքսանման օպերացիոն համակարգ |
Լույս տեսավ՝ | 1973 |
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
Ծանոթագրություններ
[խմբագրել | խմբագրել կոդը]- ↑ VCF East 2019 -- Brian Kernighan interviews Ken Thompson (video). YouTube. 2019 թ․ մայիսի 6.
- ↑ Computerphile, Where GREP Came From, interview with Brian Kernighan
Արտաքին հղումներ
[խմբագրել | խմբագրել կոդը]- 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