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.txtdata.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.Xawk के साथ उन्नत मिलान
जहां पहला कॉलम एक विशेष पैटर्न से मेल खाता हो, वहाँ दूसरे कॉलम का डेटा प्रिंट करें:
awk '$1 ~ /^a[0-9]+$/ {print $2}' datafileयह कमांड datafile में उन लाइनों को ढूँढता है जहां पहला कॉलम “a” से शुरू होता है जिसके बाद एक या अधिक अंक आते हैं और दूसरे कॉलम को प्रिंट करता है।
इन बाहरी कमांड्स को एकीकृत करके, Fish Shell प्रोग्रामर्स जटिल टेक्स्ट मैनिपुलेशन कार्यों के लिए नियमित अभिव्यक्तियों की पूरी शक्ति का उपयोग कर सकते हैं, शेल की मूल क्षमताओं को बढ़ाते हुए।