Grep

Grep

कठिन

परिचय

आपने एक स्थानीय पुस्तकालय में नौकरी कर ली है, जहाँ आप पुरानी किताबों के संग्रह को व्यवस्थित करने में मदद करते हैं। छात्र पाठक अक्सर अपने टर्म पेपर में उद्धृत करने के लिए आधे-अधूरे याद रह गए उद्धरण ढूँढते रहते हैं। हर किताब को शुरू से अंत तक खुद पढ़ने के बजाय, आप एक छोटा टूल बनाने का फैसला करते हैं, जो उन किताबों को स्कैन करके इन अधूरे उद्धरणों को खोज निकाले।

निर्देश

फाइलों में ऐसी लाइनें खोजिए जो सर्च स्ट्रिंग से मेल खाती हों, और मेल खाने वाली सभी लाइनें लौटाइए।

Unix का grep कमांड फाइलों में ऐसी लाइनें खोजता है जो किसी रेगुलर एक्सप्रेशन से मेल खाती हों। आपको एक सरल grep कमांड बनाना है, जो तय स्ट्रिंग खोज सके।

grep कमांड तीन आर्गुमेंट लेता है:

  1. वह स्ट्रिंग जिसे खोजना है।
  2. कमांड का व्यवहार बदलने के लिए शून्य या अधिक फ्लैग।
  3. एक या अधिक फाइलें जिनमें खोजना है।

इसके बाद यह दी गई फाइलों को उसी क्रम में पढ़ता है जिस क्रम में उनके नाम दिए गए हैं। फिर उन लाइनों को ढूँढ़ता है जिनमें सर्च स्ट्रिंग मौजूद हो, और अंत में उन लाइनों को उसी क्रम में लौटाता है जिस क्रम में वे मिली थीं। जब एक से अधिक फाइलों में खोजा जाता है, तो हर मेल खाने वाली लाइन के आगे उस फाइल का नाम और एक कोलन (':') लगा दिया जाता है।

फ्लैग

grep कमांड निम्नलिखित फ्लैग का समर्थन करता है:

  • -n आउटपुट की हर लाइन के आगे उसकी संख्या और एक कोलन (':') जोड़िए, और संख्या को फाइल के नाम के बाद रखिए (अगर नाम मौजूद हो)।
  • -l केवल उन फाइलों के नाम प्रदर्शित कीजिए जिनमें कम से कम एक मेल खाने वाली लाइन हो।
  • -i छोटे-बड़े अक्षरों में अंतर किए बिना मिलान कीजिए।
  • -v प्रोग्राम का व्यवहार उलट दीजिए, यानी उन सभी लाइनों को इकट्ठा कीजिए जो मेल नहीं खातीं।
  • -x केवल उन्हीं लाइनों को खोजिए जिनमें सर्च स्ट्रिंग पूरी लाइन से मेल खाती हो।
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Ruby Exercism

Grep शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Ruby को 21 कॉन्सेप्ट121 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।