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 प्रोग्रामर्स जटिल टेक्स्ट मैनिपुलेशन कार्यों के लिए नियमित अभिव्यक्तियों की पूरी शक्ति का उपयोग कर सकते हैं, शेल की मूल क्षमताओं को बढ़ाते हुए।