ग्रेप (grep): Difference between revisions
(Created page with "{{Short description|Unix command line utility for text search}} {{lowercase title}} {{Infobox software | name = grep | title = grep | screenshot = Grep example.png<!-- Image n...") |
No edit summary |
||
(9 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Unix command line utility for text search}} | {{Short description|Unix command line utility for text search}} | ||
{{Infobox software | {{Infobox software | ||
| name = grep | | name = grep | ||
Line 19: | Line 19: | ||
| standard = | | standard = | ||
| AsOf = | | AsOf = | ||
}}<code>grep</code>एक | }} | ||
<code>grep</code>एक नियमित अभिव्यक्ति से मेल खाने वाली लाइनों के लिए सादा-टेक्स्ट डेटा सेट खोजने के लिए एक कमांड-लाइन उपयोगिता है। इसका नाम एड कमांड<code>g/re/p</code> (ग्लोबल / रेगुलर एक्सप्रेशन सर्च / और प्रिंट) से आया है, जिसका प्रभाव समान है। <ref>Hauben et al. 1997, Ch. 9</ref><ref name="etymology">{{Cite web |url=http://www.catb.org/~esr/jargon/html/G/grep.html |title=पकड़|access-date=2006-06-29 |last=Raymond |first=Eric |author-link=Eric S. Raymond |work=Jargon File |url-status=dead |archive-url=https://web.archive.org/web/20060617052845/http://www.catb.org/~esr/jargon/html/G/grep.html |archive-date=2006-06-17 }}</ref> <code>grep</code> मूल रूप से यूनिक्स ऑपरेटिंग सिस्टम के लिए विकसित किया गया था, किंतु बाद में सभी यूनिक्स जैसी प्रणालियों और कुछ अन्य जैसे ओएस-9 के लिए उपलब्ध हो गया।<ref>{{cite book|author=Paul S. Dayan|year=1992|title=The OS-9 Guru - 1 : The Facts|publisher=Galactic Industrial Limited|isbn=0-9519228-0-7}}</ref> | |||
== इतिहास == | == इतिहास == | ||
नाम दिए जाने से पहले, grep कुछ पैटर्न के लिए फ़ाइलें खोजने के लिए केन थॉम्पसन द्वारा लिखी गई एक निजी उपयोगिता थी। इसके अस्तित्व से अनभिज्ञ डौग मैकलरॉय ने थॉम्पसन से ऐसा कार्यक्रम लिखने के लिए कहा। यह उत्तर देते हुए कि वह रात भर ऐसी उपयोगिता के बारे में सोचेंगे, थॉम्पसन ने वास्तव में बग्स को ठीक किया और <code>s</code> ("खोज" के लिए संक्षिप्त) नामक अपने स्वयं के कार्यक्रम में लगभग एक घंटे तक सुधार किया। अगले दिन उन्होंने मैकिलरॉय को कार्यक्रम प्रस्तुत किया, जिन्होंने कहा कि यह बिल्कुल वही था जो वह चाहते थे। थॉम्पसन का विवरण इस धारणा को स्पष्ट कर सकता है कि ग्रेप रातोरात लिखा गया था। | |||
थॉम्पसन ने ली ई. मैकमोहन की सहायता करने के लिए [[पीडीपी-11]] असेम्बली भाषा में पहला संस्करण लिखा, जो अलग-अलग पेपरों के लेखकत्व का निर्धारण करने के लिए [[द फेडरलिस्ट पेपर्स]] के टेक्स्ट का विश्लेषण करता है।<ref>Computerphile, ''[https://www.youtube.com/watch?v=NTfOnGZUZDk Where GREP Came From]'', interview with [[Brian Kernighan]]</ref> एड (टेक्स्ट एडिटर) (थॉम्पसन द्वारा लिखित) में नियमित अभिव्यक्ति का समर्थन था किंतु इतनी बड़ी मात्रा में टेक्स्ट पर उपयोग नहीं किया जा सकता था, इसलिए थॉम्पसन ने उस कोड को एक स्टैंडअलोन उपकरण में उद्धृत किया गया।<ref name="history102" /> उन्होंने नाम इसलिए चुना क्योंकि एड में, कमांड g/re/p एक निर्दिष्ट पैटर्न से मेल खाने वाली सभी पंक्तियों को प्रिंट करेगा।<ref>{{cite web|url=http://perl.plover.com/classes/HoldSpace/samples/slide012.html|title=एड रेगेक्स|website=perl.plover.com|access-date=24 April 2018|url-status=dead|archive-url=https://web.archive.org/web/20171020031534/https://perl.plover.com/classes/HoldSpace/samples/slide012.html|archive-date=20 October 2017}}</ref><ref>{{cite web|url=http://robots.thoughtbot.com/how-grep-got-its-name|title=ग्रेप को इसका नाम कैसे मिला|website=robots.thoughtbot.com|access-date=24 April 2018|url-status=dead|archive-url=https://web.archive.org/web/20170809155158/https://robots.thoughtbot.com/how-grep-got-its-name|archive-date=9 August 2017}}</ref> <code>grep</code> पहले [[संस्करण 4 यूनिक्स]] में सम्मिलित किया गया था। यह कहते हुए कि इसे "सामान्यतः प्रोटोटाइपिकल सॉफ़्टवेयर उपकरण के रूप में उद्धृत किया जाता है", मैक्लेरॉय ने <code>grep</code> को यूनिक्स में थॉम्पसन के उपकरण दर्शन को "अपरिवर्तनीय रूप से समाहित करने" का श्रेय दिया।<ref name="reader">{{cite techreport |first1=M. D. |last1=McIlroy |author-link1=Doug McIlroy |year=1987 |url=http://www.cs.dartmouth.edu/~doug/reader.pdf |title=A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 |series=CSTR |number=139 |institution=Bell Labs |url-status=live |archive-url=https://web.archive.org/web/20171111151817/http://www.cs.dartmouth.edu/~doug/reader.pdf |archive-date=2017-11-11 }}</ref> | |||
== कार्यान्वयन == | |||
कई ऑपरेटिंग सिस्टम और सॉफ्टवेयर विकास परिवेशों में विभिन्न प्रकार के <code>grep</code> कार्यान्वयन उपलब्ध हैं।<ref>{{cite techreport |first=Tony |last=Abou-Assaleh |author2=Wei Ai|title=ग्लोबल रेगुलर एक्सप्रेशन प्रिंट (जीआरईपी) टूल्स का सर्वेक्षण|institution=Dalhousie University|date=March 2004}}</ref> {{r|reader}} प्रारंभिक वेरिएंट में <code>egrep</code> और <code>fgrep</code>सम्मिलित थे, जिन्हें संस्करण 7 यूनिक्स में प्रस्तुत किया गया था।<ref name="Huma1988">{{cite journal|last1=Hume|first1=Andrew|title=ए टेल ऑफ़ टू ग्रीप्स|journal=Software: Practice and Experience|date=1988|volume=18|issue=11|page=1063|doi=10.1002/spe.4380181105|s2cid=6395770}}</ref> <code>egrep</code>" संस्करण केन थॉम्पसन के मूल नियमित अभिव्यक्ति कार्यान्वयन के बाद अल्फ्रेड अहो द्वारा जोड़े गए विस्तारित नियमित अभिव्यक्ति वाक्यविन्यास का समर्थन करता है। "<code>fgrep</code>" संस्करण अहो-कोरासिक स्ट्रिंग मिलान एल्गोरिदम का उपयोग करके निश्चित स्ट्रिंग्स की किसी भी सूची की खोज करता है।<ref name="Meurant1990">{{cite book|last1=Meurant|first1=Gerard|title=एल्गोरिदम और जटिलता|date=12 Sep 1990|publisher=Elsevier Science|page=278|isbn=9780080933917|url=https://books.google.com/books?id=6WriBQAAQBAJ|access-date=12 December 2015|url-status=live|archive-url=https://web.archive.org/web/20160304084311/https://books.google.com/books?id=6WriBQAAQBAJ&printsec=frontcover&source=gbs_ge_summary_r&cad=0|archive-date=4 March 2016}}</ref> इन वेरिएंट के बायनेरिज़ आधुनिक सिस्टम में उपस्थित हैं, सामान्यतः <code>grep</code> से लिंक होते हैं या उपयुक्त ध्वज के साथ ग्रेप को शेल स्क्रिप्ट के रूप में कहते हैं, उदाहरण के लिए <code>exec grep -E "$@"</code>.<code>egrep</code> और <code>fgrep</code>, जबकि सामान्यतः पॉज़िक्स सिस्टम पर तैनात किए जाते हैं, पॉज़िक्स विनिर्देश उनके व्यापक अस्तित्व का उल्लेख करता है, वास्तव में पॉज़िक्स का भाग नहीं हैं।<ref>{{cite web|title=पकड़|url=http://pubs.opengroup.org/onlinepubs/009695399/utilities/पकड़.html|website=www.pubs.opengroup.org|publisher=The Open Group|access-date=12 December 2015|url-status=live|archive-url=https://web.archive.org/web/20151128184349/http://pubs.opengroup.org/onlinepubs/009695399/utilities/पकड़.html|archive-date=28 November 2015}}</ref> | |||
अन्य आदेशों में यह इंगित करने के लिए शब्द grep होता है कि वे खोज उपकरण हैं, सामान्यतः वे जो नियमित अभिव्यक्ति मिलानों पर निर्भर करते हैं। पीजीआरपी <code>pgrep</code>उपयोगिता, उदाहरण के लिए, उन प्रक्रियाओं को प्रदर्शित करती है जिनके नाम किसी दिए गए रेगुलर एक्सप्रेशन से मेल खाते हैं।<ref>{{cite web|title=पीजीआरपी(1)|url=http://linux.die.net/man/1/pgrep|website=www.linux.die.net|access-date=12 December 2015|url-status=live|archive-url=https://web.archive.org/web/20151222084135/http://linux.die.net/man/1/pgrep|archive-date=22 December 2015}}</ref> | |||
अन्य | [[पर्ल]] प्रोग्रामिंग भाषा में, grep बिल्ट-इन कार्य का नाम है जो एक सूची में ऐसे तत्वों को ढूंढता है जो एक निश्चित संपत्ति को संतुष्ट करते हैं।<ref>{{cite web|title=पकड़|url=http://perldoc.perl.org/functions/पकड़.html|website=www.perldoc.perl.org|access-date=12 December 2015|url-status=live|archive-url=https://web.archive.org/web/20151207062445/http://perldoc.perl.org/functions/पकड़.html|archive-date=7 December 2015}}</ref> यह उच्च-क्रम कार्य सामान्यतः अन्य भाषाओं में<code>[[filter (higher-order function)|filter]]</code> या <code>where</code> नाम दिया जाता है। | ||
<code>pcregrep</code> कमांड <code>grep</code> का कार्यान्वयन है जो पर्ल रेगुलर एक्सप्रेशन सिंटैक्स का उपयोग करता है।<ref>{{cite web|title=pcregrep मैन पेज|url=http://www.pcre.org/original/doc/html/pcregrep.html|website=www.pcre.org|publisher=University of Cambridge|access-date=12 December 2015|url-status=live|archive-url=https://web.archive.org/web/20151223035259/http://www.pcre.org/original/doc/html/pcregrep.html|archive-date=23 December 2015}}</ref> इसी तरह की कार्यक्षमता को -P ध्वज के साथ <code>grep</code> के जीएनयू संस्करण में प्रयुक्त किया जा सकता है।<ref>{{cite web|title=पकड़ (1)|url=http://linux.die.net/man/1/grep|website=www.linux.die.net|access-date=12 December 2015|url-status=live|archive-url=https://web.archive.org/web/20151210004321/http://linux.die.net/man/1/grep|archive-date=10 December 2015}}</ref> | |||
<code>grep</code> के पोर्ट (उदाहरण के लिए [[Cygwin|साइगविन]] और [[GnuWin32|ग्नूविन32]] के अंदर) माइक्रोसॉफ्ट विंडोज के तहत भी चलते हैं। विंडोज़ के कुछ संस्करणों में समान <code>qgrep</code> या <code>[[findstr]]</code>कमांड की सुविधा है।<ref>{{cite book | |||
| last = Spalding | | last = Spalding | ||
| first = George | | first = George | ||
Line 47: | Line 52: | ||
| quote = QGREP.EXE[:] A similar tool to grep in UNIX, this tool can be used to search for a text string | | quote = QGREP.EXE[:] A similar tool to grep in UNIX, this tool can be used to search for a text string | ||
}}</ref> | }}</ref> | ||
एक <code>grep</code> कमांड एमएसएक्स-डॉस संस्करण 2 के लिए एएससीआईआई के एमएसएक्स-डॉस2 टूल्स का भी भाग है।<ref>{{cite web| url = https://archive.org/details/MSXDOS2TOOLS| title = MSX-DOS2 Tools User's Manual by ASCII Corporation| date = April 1993}}</ref> | |||
<code>grep</code>, {{Mono|egrep}}, और {{Mono|fgrep}} कमांड्स को [[IBM i]] ऑपरेटिंग सिस्टम में पोर्ट किया गया है।<ref>{{cite web |title=IBM System i Version 7.2 Programming Qshell |language=en |author=IBM |website=[[IBM]] |author-link=IBM |url=https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/rzahz/rzahzpdf.pdf?view=kc |access-date=2020-09-05 }}</ref> | |||
सॉफ़्टवेयर एडोब इनडिज़ाइन में खोज/परिवर्तन संवाद बॉक्स "GREP" टैब में GREP कार्य<ref>{{cite web|url=https://creativepro.com/review-adobe-indesign-cs3/|title=Review: Adobe InDesign CS3 - CreativePro.com|date=20 April 2007|website=creativepro.com|access-date=24 April 2018|url-status=live|archive-url=https://web.archive.org/web/20180105233709/https://creativepro.com/review-adobe-indesign-cs3/|archive-date=5 January 2018}}</ref> (CS3 संस्करण (2007) से)<ref>{{cite web|title=InDesign Help: find/change|url=https://helpx.adobe.com/indesign/using/find-change.html|access-date=2016-08-12|url-status=live|archive-url=https://web.archive.org/web/20160828124223/https://helpx.adobe.com/indesign/using/find-change.html|archive-date=2016-08-28}}</ref> है, और पैराग्राफ शैलियों "GREP शैलियों" में इनडिज़ाइन<ref>{{cite web |url=http://carijansen.com/tip-088/ |title=InDesign: GREP Styles (1) Setting text between parentheses in Italic |access-date=2018-01-05 |url-status=live |archive-url=https://web.archive.org/web/20170924230421/http://carijansen.com/tip-088/ |archive-date=2017-09-24 }}</ref> CS4 के साथ प्रस्तुत किया गया है।<ref>{{cite web|title=InDesign Help: GREP styles|url=https://helpx.adobe.com/indesign/using/drop-caps-nested-styles.html#create_grep_styles|access-date=2016-08-12|url-status=live|archive-url=https://web.archive.org/web/20160828114627/https://helpx.adobe.com/indesign/using/drop-caps-nested-styles.html#create_grep_styles|archive-date=2016-08-28}}</ref> | |||
=== अग्रेप === | === अग्रेप === | ||
{{main| | {{main|अग्रेप}} | ||
''a''grep (अनुमानित grep) तब भी मेल खाता है जब टेक्स्ट केवल ''लगभग'' खोज पैटर्न में फिट बैठता है।<ref name=eGrep.SunX>{{cite magazine |magazine=Sun Expert|author=S. Lee Henry |date=June 1998 |pages=35–26|title=Proper Searching}}</ref> | ''a''grep (अनुमानित grep) तब भी मेल खाता है जब टेक्स्ट केवल ''लगभग'' खोज पैटर्न में फिट बैठता है।<ref name=eGrep.SunX>{{cite magazine |magazine=Sun Expert|author=S. Lee Henry |date=June 1998 |pages=35–26|title=Proper Searching}}</ref> | ||
यह निम्नलिखित मंगलाचरण फ़ाइल | |||
agrep -2 | यह निम्नलिखित मंगलाचरण फ़ाइल मायफ़ाइल में नेटमास्क पाता है, किंतु कोई भी अन्य शब्द जो इससे प्राप्त किया जा सकता है, दो से अधिक प्रतिस्थापन नहीं दिए गए हैं। | ||
agrep -2 netmasks myfile | |||
यह उदाहरण निकटतम के साथ मिलानों की एक सूची तैयार करता है, जो कि सबसे कम प्रतिस्थापन वाले पहले सूचीबद्ध हैं। आदेश ध्वज B का अर्थ सर्वोत्तम है: | यह उदाहरण निकटतम के साथ मिलानों की एक सूची तैयार करता है, जो कि सबसे कम प्रतिस्थापन वाले पहले सूचीबद्ध हैं। आदेश ध्वज B का अर्थ सर्वोत्तम है: | ||
agrep -B | agrep -B netmasks myfile | ||
== क्रिया के रूप में प्रयोग == | |||
दिसंबर 2003 में, [[ऑक्सफोर्ड इंग्लिश डिक्शनरी]] ऑनलाइन ने grep को संज्ञा और क्रिया दोनों के रूप में जोड़ा गया था।<ref>{{Cite web|url=https://public.oed.com/updates/new-words-list-december-2003/|title=New words list December 2003|access-date=2021-12-06|website=Oxford English Dictionary}}</ref> | |||
== यह भी देखें == | एक सामान्य क्रिया का उपयोग वाक्यांश है "आप मृत पेड़ों को नहीं पकड़ सकते" - जिसका अर्थ है कि कोई व्यक्ति डिजिटल मीडिया के माध्यम से अधिक आसानी से <code>grep</code>जैसे उपकरण का उपयोग करके खोज सकता है, अतिरिक्त हार्ड कॉपी के (यथार्त "मृत पेड़ों" से बना हुआ) जो इस संदर्भ में कागज के लिए [[अपच]] है)।<ref>''[[Jargon File]]'', article "Documentation"</ref> | ||
== यह भी देखें == | |||
{{Portal|Free and open-source software}} | {{Portal|Free and open-source software}} | ||
* बॉयर-मूर स्ट्रिंग-सर्च एल्गोरिथम | * बॉयर-मूर स्ट्रिंग-सर्च एल्गोरिथम | ||
* [[agrep]], एक अनुमानित स्ट्रिंग-मैचिंग कमांड | * [[agrep]], एक अनुमानित स्ट्रिंग-मैचिंग कमांड | ||
* फाइंड (विंडोज़) या [[ खोजक ]] | * फाइंड (विंडोज़) या [[ खोजक |फाइंडस्ट्र,]] एक डॉस और विंडोज कमांड जो साधारण <code>grep</code>के समान टेक्स्ट खोज करता है | ||
* | * फाइंड (यूनिक्स), एक यूनिक्स कमांड जो विशेषता द्वारा फाइलों को खोजता है, <code>grep</code>से बहुत अलग है | ||
* [[यूनिक्स कमांड की सूची]] | * [[यूनिक्स कमांड की सूची]] | ||
* | *एनजीआरईपी, नेटवर्क <code>grep</code> | ||
==संदर्भ== | ==संदर्भ == | ||
{{Reflist|30em}} | {{Reflist|30em}} | ||
;Notes | ;Notes | ||
Line 93: | Line 99: | ||
* [https://www.linuxteacher.com/grep-command-in-unix-linux-with-examples/ Command Grep – 25 practical examples] | * [https://www.linuxteacher.com/grep-command-in-unix-linux-with-examples/ Command Grep – 25 practical examples] | ||
[[Category:Articles with hatnote templates targeting a nonexistent page]] | |||
[[Category:CS1 English-language sources (en)]] | |||
[[Category:Citation Style 1 templates|M]] | |||
[[Category:Collapse templates]] | |||
[[Category: | |||
[[Category: | |||
[[Category:Created On 20/06/2023]] | [[Category:Created On 20/06/2023]] | ||
[[Category:IBM i Qshell कमांड]] | |||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists]] | |||
[[Category:Pages with empty portal template]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Portal templates with redlinked portals]] | |||
[[Category:Sidebars with styles needing conversion]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates based on the Citation/CS1 Lua module]] | |||
[[Category:Templates generating COinS|Cite magazine]] | |||
[[Category:Templates generating microformats]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that are not mobile friendly]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Webarchive template wayback links]] | |||
[[Category:Wikipedia fully protected templates|Cite magazine]] | |||
[[Category:Wikipedia metatemplates]] | |||
[[Category:इन्फर्नो (ऑपरेटिंग सिस्टम) कमांड]] | |||
[[Category:मानक यूनिक्स कार्यक्रम]] | |||
[[Category:यूनिक्स SUS2008 उपयोगिताओं]] | |||
[[Category:यूनिक्स टेक्स्ट प्रोसेसिंग यूटिलिटीज]] | |||
[[Category:योजना 9 कमांड]] |
Latest revision as of 21:38, 15 July 2023
Original author(s) | Ken Thompson[1][2] |
---|---|
Developer(s) | AT&T Bell Laboratories |
Initial release | November 1973[1] |
Written in | C |
Operating system | Unix, Unix-like, Plan 9, Inferno, OS-9, MSX-DOS, IBM i |
Platform | Cross-platform |
Type | Command |
grep
एक नियमित अभिव्यक्ति से मेल खाने वाली लाइनों के लिए सादा-टेक्स्ट डेटा सेट खोजने के लिए एक कमांड-लाइन उपयोगिता है। इसका नाम एड कमांडg/re/p
(ग्लोबल / रेगुलर एक्सप्रेशन सर्च / और प्रिंट) से आया है, जिसका प्रभाव समान है। [3][4] grep
मूल रूप से यूनिक्स ऑपरेटिंग सिस्टम के लिए विकसित किया गया था, किंतु बाद में सभी यूनिक्स जैसी प्रणालियों और कुछ अन्य जैसे ओएस-9 के लिए उपलब्ध हो गया।[5]
इतिहास
नाम दिए जाने से पहले, grep कुछ पैटर्न के लिए फ़ाइलें खोजने के लिए केन थॉम्पसन द्वारा लिखी गई एक निजी उपयोगिता थी। इसके अस्तित्व से अनभिज्ञ डौग मैकलरॉय ने थॉम्पसन से ऐसा कार्यक्रम लिखने के लिए कहा। यह उत्तर देते हुए कि वह रात भर ऐसी उपयोगिता के बारे में सोचेंगे, थॉम्पसन ने वास्तव में बग्स को ठीक किया और s
("खोज" के लिए संक्षिप्त) नामक अपने स्वयं के कार्यक्रम में लगभग एक घंटे तक सुधार किया। अगले दिन उन्होंने मैकिलरॉय को कार्यक्रम प्रस्तुत किया, जिन्होंने कहा कि यह बिल्कुल वही था जो वह चाहते थे। थॉम्पसन का विवरण इस धारणा को स्पष्ट कर सकता है कि ग्रेप रातोरात लिखा गया था।
थॉम्पसन ने ली ई. मैकमोहन की सहायता करने के लिए पीडीपी-11 असेम्बली भाषा में पहला संस्करण लिखा, जो अलग-अलग पेपरों के लेखकत्व का निर्धारण करने के लिए द फेडरलिस्ट पेपर्स के टेक्स्ट का विश्लेषण करता है।[6] एड (टेक्स्ट एडिटर) (थॉम्पसन द्वारा लिखित) में नियमित अभिव्यक्ति का समर्थन था किंतु इतनी बड़ी मात्रा में टेक्स्ट पर उपयोग नहीं किया जा सकता था, इसलिए थॉम्पसन ने उस कोड को एक स्टैंडअलोन उपकरण में उद्धृत किया गया।[1] उन्होंने नाम इसलिए चुना क्योंकि एड में, कमांड g/re/p एक निर्दिष्ट पैटर्न से मेल खाने वाली सभी पंक्तियों को प्रिंट करेगा।[7][8] grep
पहले संस्करण 4 यूनिक्स में सम्मिलित किया गया था। यह कहते हुए कि इसे "सामान्यतः प्रोटोटाइपिकल सॉफ़्टवेयर उपकरण के रूप में उद्धृत किया जाता है", मैक्लेरॉय ने grep
को यूनिक्स में थॉम्पसन के उपकरण दर्शन को "अपरिवर्तनीय रूप से समाहित करने" का श्रेय दिया।[9]
कार्यान्वयन
कई ऑपरेटिंग सिस्टम और सॉफ्टवेयर विकास परिवेशों में विभिन्न प्रकार के grep
कार्यान्वयन उपलब्ध हैं।[10] [9] प्रारंभिक वेरिएंट में egrep
और fgrep
सम्मिलित थे, जिन्हें संस्करण 7 यूनिक्स में प्रस्तुत किया गया था।[11] egrep
" संस्करण केन थॉम्पसन के मूल नियमित अभिव्यक्ति कार्यान्वयन के बाद अल्फ्रेड अहो द्वारा जोड़े गए विस्तारित नियमित अभिव्यक्ति वाक्यविन्यास का समर्थन करता है। "fgrep
" संस्करण अहो-कोरासिक स्ट्रिंग मिलान एल्गोरिदम का उपयोग करके निश्चित स्ट्रिंग्स की किसी भी सूची की खोज करता है।[12] इन वेरिएंट के बायनेरिज़ आधुनिक सिस्टम में उपस्थित हैं, सामान्यतः grep
से लिंक होते हैं या उपयुक्त ध्वज के साथ ग्रेप को शेल स्क्रिप्ट के रूप में कहते हैं, उदाहरण के लिए exec grep -E "$@"
.egrep
और fgrep
, जबकि सामान्यतः पॉज़िक्स सिस्टम पर तैनात किए जाते हैं, पॉज़िक्स विनिर्देश उनके व्यापक अस्तित्व का उल्लेख करता है, वास्तव में पॉज़िक्स का भाग नहीं हैं।[13]
अन्य आदेशों में यह इंगित करने के लिए शब्द grep होता है कि वे खोज उपकरण हैं, सामान्यतः वे जो नियमित अभिव्यक्ति मिलानों पर निर्भर करते हैं। पीजीआरपी pgrep
उपयोगिता, उदाहरण के लिए, उन प्रक्रियाओं को प्रदर्शित करती है जिनके नाम किसी दिए गए रेगुलर एक्सप्रेशन से मेल खाते हैं।[14]
पर्ल प्रोग्रामिंग भाषा में, grep बिल्ट-इन कार्य का नाम है जो एक सूची में ऐसे तत्वों को ढूंढता है जो एक निश्चित संपत्ति को संतुष्ट करते हैं।[15] यह उच्च-क्रम कार्य सामान्यतः अन्य भाषाओं मेंfilter
या where
नाम दिया जाता है।
pcregrep
कमांड grep
का कार्यान्वयन है जो पर्ल रेगुलर एक्सप्रेशन सिंटैक्स का उपयोग करता है।[16] इसी तरह की कार्यक्षमता को -P ध्वज के साथ grep
के जीएनयू संस्करण में प्रयुक्त किया जा सकता है।[17]
grep
के पोर्ट (उदाहरण के लिए साइगविन और ग्नूविन32 के अंदर) माइक्रोसॉफ्ट विंडोज के तहत भी चलते हैं। विंडोज़ के कुछ संस्करणों में समान qgrep
या findstr
कमांड की सुविधा है।[18]
एक grep
कमांड एमएसएक्स-डॉस संस्करण 2 के लिए एएससीआईआई के एमएसएक्स-डॉस2 टूल्स का भी भाग है।[19]
grep
, egrep, और fgrep कमांड्स को IBM i ऑपरेटिंग सिस्टम में पोर्ट किया गया है।[20]
सॉफ़्टवेयर एडोब इनडिज़ाइन में खोज/परिवर्तन संवाद बॉक्स "GREP" टैब में GREP कार्य[21] (CS3 संस्करण (2007) से)[22] है, और पैराग्राफ शैलियों "GREP शैलियों" में इनडिज़ाइन[23] CS4 के साथ प्रस्तुत किया गया है।[24]
अग्रेप
agrep (अनुमानित grep) तब भी मेल खाता है जब टेक्स्ट केवल लगभग खोज पैटर्न में फिट बैठता है।[25]
यह निम्नलिखित मंगलाचरण फ़ाइल मायफ़ाइल में नेटमास्क पाता है, किंतु कोई भी अन्य शब्द जो इससे प्राप्त किया जा सकता है, दो से अधिक प्रतिस्थापन नहीं दिए गए हैं।
agrep -2 netmasks myfile
यह उदाहरण निकटतम के साथ मिलानों की एक सूची तैयार करता है, जो कि सबसे कम प्रतिस्थापन वाले पहले सूचीबद्ध हैं। आदेश ध्वज B का अर्थ सर्वोत्तम है:
agrep -B netmasks myfile
क्रिया के रूप में प्रयोग
दिसंबर 2003 में, ऑक्सफोर्ड इंग्लिश डिक्शनरी ऑनलाइन ने grep को संज्ञा और क्रिया दोनों के रूप में जोड़ा गया था।[26]
एक सामान्य क्रिया का उपयोग वाक्यांश है "आप मृत पेड़ों को नहीं पकड़ सकते" - जिसका अर्थ है कि कोई व्यक्ति डिजिटल मीडिया के माध्यम से अधिक आसानी से grep
जैसे उपकरण का उपयोग करके खोज सकता है, अतिरिक्त हार्ड कॉपी के (यथार्त "मृत पेड़ों" से बना हुआ) जो इस संदर्भ में कागज के लिए अपच है)।[27]
यह भी देखें
- बॉयर-मूर स्ट्रिंग-सर्च एल्गोरिथम
- agrep, एक अनुमानित स्ट्रिंग-मैचिंग कमांड
- फाइंड (विंडोज़) या फाइंडस्ट्र, एक डॉस और विंडोज कमांड जो साधारण
grep
के समान टेक्स्ट खोज करता है - फाइंड (यूनिक्स), एक यूनिक्स कमांड जो विशेषता द्वारा फाइलों को खोजता है,
grep
से बहुत अलग है - यूनिक्स कमांड की सूची
- एनजीआरईपी, नेटवर्क
grep
संदर्भ
- ↑ 1.0 1.1 1.2 Kernighan, Brian (1984). The Unix Programming Environment. Prentice Hall. pp. 102. ISBN 0-13-937681-X.
- ↑ “grep was a private command of mine for quite a while before i made it public.” -Ken Thompson Archived 2015-05-26 at the Wayback Machine, By Benjamin Rualthanzauva, Published on Feb 5, 2014, Medium
- ↑ Hauben et al. 1997, Ch. 9
- ↑ Raymond, Eric. "पकड़". Jargon File. Archived from the original on 2006-06-17. Retrieved 2006-06-29.
- ↑ Paul S. Dayan (1992). The OS-9 Guru - 1 : The Facts. Galactic Industrial Limited. ISBN 0-9519228-0-7.
- ↑ Computerphile, Where GREP Came From, interview with Brian Kernighan
- ↑ "एड रेगेक्स". perl.plover.com. Archived from the original on 20 October 2017. Retrieved 24 April 2018.
- ↑ "ग्रेप को इसका नाम कैसे मिला". robots.thoughtbot.com. Archived from the original on 9 August 2017. Retrieved 24 April 2018.
- ↑ 9.0 9.1 McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139. Archived (PDF) from the original on 2017-11-11.
- ↑ Abou-Assaleh, Tony; Wei Ai (March 2004). ग्लोबल रेगुलर एक्सप्रेशन प्रिंट (जीआरईपी) टूल्स का सर्वेक्षण (Technical report). Dalhousie University.
- ↑ Hume, Andrew (1988). "ए टेल ऑफ़ टू ग्रीप्स". Software: Practice and Experience. 18 (11): 1063. doi:10.1002/spe.4380181105. S2CID 6395770.
- ↑ Meurant, Gerard (12 Sep 1990). एल्गोरिदम और जटिलता. Elsevier Science. p. 278. ISBN 9780080933917. Archived from the original on 4 March 2016. Retrieved 12 December 2015.
- ↑ "पकड़". www.pubs.opengroup.org. The Open Group. Archived from the original on 28 November 2015. Retrieved 12 December 2015.
- ↑ "पीजीआरपी(1)". www.linux.die.net. Archived from the original on 22 December 2015. Retrieved 12 December 2015.
- ↑ "पकड़". www.perldoc.perl.org. Archived from the original on 7 December 2015. Retrieved 12 December 2015.
- ↑ "pcregrep मैन पेज". www.pcre.org. University of Cambridge. Archived from the original on 23 December 2015. Retrieved 12 December 2015.
- ↑ "पकड़ (1)". www.linux.die.net. Archived from the original on 10 December 2015. Retrieved 12 December 2015.
- ↑ Spalding, George (2000). Windows 2000 administration. Network professional's library. Osborne/McGraw-Hill. pp. 634. ISBN 978-0-07-882582-8. Retrieved 2010-12-10.
QGREP.EXE[:] A similar tool to grep in UNIX, this tool can be used to search for a text string
- ↑ "MSX-DOS2 Tools User's Manual by ASCII Corporation". April 1993.
- ↑ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). IBM (in English). Retrieved 2020-09-05.
- ↑ "Review: Adobe InDesign CS3 - CreativePro.com". creativepro.com. 20 April 2007. Archived from the original on 5 January 2018. Retrieved 24 April 2018.
- ↑ "InDesign Help: find/change". Archived from the original on 2016-08-28. Retrieved 2016-08-12.
- ↑ "InDesign: GREP Styles (1) Setting text between parentheses in Italic". Archived from the original on 2017-09-24. Retrieved 2018-01-05.
- ↑ "InDesign Help: GREP styles". Archived from the original on 2016-08-28. Retrieved 2016-08-12.
- ↑ S. Lee Henry (June 1998). "Proper Searching". Sun Expert. pp. 35–26.
- ↑ "New words list December 2003". Oxford English Dictionary. Retrieved 2021-12-06.
- ↑ Jargon File, article "Documentation"
- Notes
- Alain Magloire (August 2000). Grep: Searching for a Pattern. Iuniverse Inc. ISBN 0-595-10039-2.
- Hume, Andrew Grep wars: The strategic search initiative. In Peter Collinson, editor, Proceedings of the EUUG Spring 88 Conference, pages 237–245, Buntingford, UK, 1988. European UNIX User Group.
- Michael Hauben; et al. (April 1997). Netizens: On the History and Impact of Usenet and the Internet (Perspectives). Wiley-IEEE Computer Society Press. ISBN 978-0-8186-7706-9.
बाहरी संबंध
- GNU Grep official website
- GNU Grep manual
- Plan 9 Programmer's Manual, Volume 1 –
- Inferno General commands Manual –
- "why GNU grep is fast" - implementation details from GNU grep's author.
- Command Grep – 25 practical examples