रेगुलर एक्सप्रेशन्स का उपयोग करना

Fish Shell:
रेगुलर एक्सप्रेशन्स का उपयोग करना

कैसे:

हालाँकि Fish Shell स्वयं में regex के लिए एक इन-बिल्ट कमांड नहीं है, यह grep, sed, और awk जैसे बाहरी कमांड्स का प्रभावी ढंग से उपयोग करता है जो regex का समर्थन करते हैं, जिससे आप अपनी स्क्रिप्ट्स में regex ऑपरेशन्स को जोड़ सकते हैं।

grep के साथ मूल पैटर्न मिलान

किसी फाइल में लाइनों को खोजें जो एक पैटर्न से मेल खाती हैं:

grep '^[0-9]+' myfile.txt

यह कमांड myfile.txt में एक या अधिक अंकों के साथ शुरू होने वाली लाइनों को ढूँढती है।

sed के साथ निकालना और बदलना

एक फाइल से फोन नंबर निकालें:

sed -n '/\([0-9]\{3\}\)-\([0-9]\{3\}\)-\([0-9]\{4\}\)/p' contacts.txt

data.txt में “foo” के सभी उदाहरणों को “bar” से बदलें:

sed 's/foo/bar/g' data.txt

बुनियादी Regex के लिए string का उपयोग

Fish Shell की string कमांड साधारण regex ऑपरेशन्स जैसे कि मैच और बदलना समर्थन करती है:

एक स्ट्रिंग में एक पैटर्न मैच करें:

echo "fish 3.1.2" | string match -r '3\.[0-9]+\.[0-9]+'

आउटपुट:

3.1.2

‘fish’ के बाद आने वाले अंकों को ‘X.X.X’ से बदलें:

echo "Welcome to fish 3.1.2" | string replace -ra '([fish]+\s)[0-9\.]+' '$1X.X.X'

आउटपुट:

Welcome to fish X.X.X

awk के साथ उन्नत मिलान

जहां पहला कॉलम एक विशेष पैटर्न से मेल खाता हो, वहाँ दूसरे कॉलम का डेटा प्रिंट करें:

awk '$1 ~ /^a[0-9]+$/ {print $2}' datafile

यह कमांड datafile में उन लाइनों को ढूँढता है जहां पहला कॉलम “a” से शुरू होता है जिसके बाद एक या अधिक अंक आते हैं और दूसरे कॉलम को प्रिंट करता है।

इन बाहरी कमांड्स को एकीकृत करके, Fish Shell प्रोग्रामर्स जटिल टेक्स्ट मैनिपुलेशन कार्यों के लिए नियमित अभिव्यक्तियों की पूरी शक्ति का उपयोग कर सकते हैं, शेल की मूल क्षमताओं को बढ़ाते हुए।