लिनक्स रेगुलर एक्सप्रेशन ट्यूटोरियल: ग्रिप रेगेक्स उदाहरण
⚡ स्मार्ट सारांश
लिनक्स रेगुलर एक्सप्रेशन विशेष वर्ण अनुक्रम होते हैं जो grep, sed और vi जैसे उपकरणों में डेटा की खोज करते हैं और जटिल पैटर्न का मिलान करते हैं, पाठ को सटीक रूप से फ़िल्टर करने के लिए बुनियादी, अंतराल, विस्तारित और ब्रेस-विस्तार रूपों का उपयोग करते हैं।

रेगुलर एक्सप्रेशन सबसे शक्तिशाली विशेषताओं में से एक है। Linux टेक्स्ट टूल, जो आपको कॉम्पैक्ट पैटर्न के साथ डेटा को मैच करने, फ़िल्टर करने और रूपांतरित करने की सुविधा देते हैं। यह पृष्ठ बुनियादी, अंतराल और विस्तारित रूपों के साथ-साथ ब्रेस विस्तार की व्याख्या करता है, जिसमें ग्रैप के उदाहरण भी शामिल हैं।
लिनक्स रेगुलर एक्सप्रेशन क्या हैं?
लिनक्स में रेगुलर एक्सप्रेशन विशेष वर्ण होते हैं जो डेटा खोजने और जटिल पैटर्न का मिलान करने में मदद करते हैं। रेगुलर एक्सप्रेशन को संक्षेप में 'regexp' या 'regex' लिखा जाता है। इनका उपयोग कई लिनक्स प्रोग्रामों में किया जाता है, जैसे कि... ग्रेपbash, rename, sed, और भी बहुत कुछ।
नियमित अभिव्यक्तियों के प्रकार
समझने में आसानी के लिए, आइए हम अलग-अलग प्रकार के रेगुलर एक्सप्रेशन को एक-एक करके सीखें। इस पेज में बेसिक, इंटरवल और एक्सटेंडेड रेगुलर एक्सप्रेशन शामिल हैं, और अंत में ब्रेसेस एक्सपेंशन के साथ समाप्त होता है।
बुनियादी नियमित अभिव्यक्तियाँ
रेगुलर एक्सप्रेशन के साथ काम करने वाले कुछ सामान्य रूप से उपयोग किए जाने वाले कमांड tr, sed हैं। viऔर grep। नीचे दी गई तालिका में कुछ बुनियादी रेगुलर एक्सप्रेशन सूचीबद्ध हैं।
| चिन्ह | विवरण |
|---|---|
| . | किसी भी अक्षर को बदल देता है |
| ^ | स्ट्रिंग की शुरुआत से मेल खाता है |
| $ | स्ट्रिंग के अंत से मेल खाता है |
| * | पिछले अक्षर से शून्य या अधिक बार मिलान होता है |
| \ | विशेष वर्णों को दर्शाता है |
| () | नियमित अभिव्यक्तियों को समूहित करें |
| ? | ठीक एक अक्षर से मेल खाता है |
आइए एक उदाहरण देखते हैं। सबसे पहले, नीचे दिखाए गए अनुसार, किसी मौजूदा फ़ाइल की सामग्री प्रदर्शित करने के लिए cat sample कमांड चलाएँ।
इसके बाद, 'a' अक्षर वाले कंटेंट को खोजें। नीचे दिए गए स्क्रीनशॉट में grep द्वारा 'a' अक्षर वाले सभी शब्दों को दिखाया गया है।
कैरेट '^' स्ट्रिंग की शुरुआत से मेल खाता है। नीचे दिए गए उदाहरण में 'a' अक्षर से शुरू होने वाली सामग्री को खोजा गया है।
केवल उन्हीं पंक्तियों को फ़िल्टर किया जाता है जो 'a' अक्षर से शुरू होती हैं। जिन पंक्तियों में 'a' अक्षर शुरू में नहीं होता, उन्हें अनदेखा कर दिया जाता है।
आइए एक और उदाहरण देखते हैं। नीचे दिया गया स्क्रीनशॉट फिर से किसी पंक्ति के अंत के आधार पर फ़िल्टर करने से पहले नमूना फ़ाइल की सामग्री को दर्शाता है।
नीचे दिखाए गए अनुसार '$' एंकर का उपयोग करके केवल उन पंक्तियों का चयन करें जो अक्षर 't' से समाप्त होती हैं।
अंतराल नियमित अभिव्यक्ति
ये अभिव्यक्तियाँ किसी स्ट्रिंग में किसी वर्ण की उपस्थिति की संख्या निर्दिष्ट करती हैं। इन्हें नीचे सूचीबद्ध किया गया है।
| अभिव्यक्ति | विवरण |
|---|---|
| {एन} | 'n' बार प्रकट होने वाले पूर्ववर्ती वर्ण से सटीक रूप से मेल खाता है |
| {एन, एम} | 'n' बार प्रकट होने वाले पूर्ववर्ती वर्ण से मेल खाता है, परंतु m से अधिक नहीं |
| {एन, } | पूर्ववर्ती वर्ण से केवल तभी मेल खाता है जब वह 'n' बार या अधिक बार प्रकट होता है |
उदाहरण के लिए, उन सभी पंक्तियों को फ़िल्टर करें जिनमें 'p' अक्षर मौजूद है। नीचे दिया गया स्क्रीनशॉट मिलान वाली पंक्तियों को दर्शाता है।
अब जांच लें कि स्ट्रिंग में 'p' अक्षर ठीक दो बार, एक के बाद एक दिखाई देता है। इसके लिए सिंटैक्स इस प्रकार है:
cat sample | grep -E p\{2}
अंतराल मैच का परिणाम नीचे दिखाया गया है।
नोट: आपको इन नियमित अभिव्यक्तियों के साथ -E जोड़ना होगा।
विस्तारित नियमित अभिव्यक्तियाँ
ये रेगुलर एक्सप्रेशन एक से अधिक एक्सप्रेशन को जोड़ते हैं। इनमें से कुछ इस प्रकार हैं:
| अभिव्यक्ति | विवरण |
|---|---|
| \+ | पिछले वर्ण की एक या अधिक घटनाओं से मेल खाता है |
| \? | पिछले वर्ण की शून्य या एक घटना से मेल खाता है |
उदाहरण के लिए, 't' अक्षर के सभी उदाहरणों को खोजें। नीचे दिया गया स्क्रीनशॉट परिणाम दिखाता है।
मान लीजिए कि आप उन पंक्तियों को फ़िल्टर करना चाहते हैं जहाँ अक्षर 'a' अक्षर 't' से पहले आता है। आप नीचे दिए गए कमांड का उपयोग कर सकते हैं:
cat sample|grep "a\+t"
आउटपुट निम्नलिखित स्क्रीनशॉट में दिखाया गया है।
ब्रेस विस्तार
कर्ली ब्रैकेट के विस्तार के लिए सिंटैक्स या तो एक क्रम होता है या कर्ली ब्रैकेट '{}' के अंदर आइटमों की अल्पविराम से अलग की गई सूची होती है। क्रम में शुरुआती और अंतिम आइटम दो बिंदुओं '..' से अलग किए जाते हैं।
कुछ उदाहरण नीचे दिए गए हैं।
ऊपर दिए गए उदाहरणों में, इको कमांड ब्रेसेस एक्सपेंशन का उपयोग करके स्ट्रिंग बनाता है, जिससे एक ही पैटर्न से कई स्ट्रिंग उत्पन्न होती हैं।










