Fish Shell:
রেগুলার এক্সপ্রেশন ব্যবহার করা
কিভাবে:
Fish Shell নিজে একটি বিল্ট-ইন কমান্ড না থাকলেও রেগুলার এক্সপ্রেশনের জন্য 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 প্রোগ্রামাররা জটিল টেক্সট ম্যানিপুলেশন টাস্কের জন্য নিয়মিত এক্সপ্রেশনের পূর্ণ শক্তিকে হার্নেস করতে পারে, শেলের স্বাভাবিক কার্যক্ষমতা বাড়াতে।