Bash:
রেগুলার এক্সপ্রেশন ব্যবহার করা
কিভাবে:
মৌলিক প্যাটার্ন ম্যাচিং
কোন স্ট্রিং কোন প্যাটার্নের সাথে মিলে কিনা খুঁজে বের করতে, আপনি grep
ব্যবহার করতে পারেন, যা একটি কমান্ড-লাইন ইউটিলিটি যা প্লেইন-টেক্সট ডেটা সেটে নির্দিষ্ট নিয়মিত অভিব্যক্তি মেলে এমন লাইনগুলিকে অনুসন্ধান করে:
echo "Hello, World!" | grep -o "World"
# আউটপুট: World
নির্দিষ্ট ডেটা এক্সট্রাক্ট করা
আপনার regex প্যাটার্ন মেলে এমন ডেটার অংশ এক্সট্রাক্ট করতে, আপনি grep
এর সাথে -o
ব্যবহার করতে পারেন:
echo "Error: File not found" | grep -oE "[A-Za-z]+:"
# আউটপুট: Error:
sed
এর সাথে Regex ব্যবহার করা
sed
(স্ট্রিম এডিটর) টেক্সট পার্স এবং রূপান্তর করার জন্য একটি শক্তিশালী ইউটিলিটি। sed
এর সাথে regex ব্যবহার করে টেক্সট প্রতিস্থাপন করার পদ্ধতি এখানে:
echo "Bash is great" | sed -e 's/great/awesome/'
# আউটপুট: Bash is awesome
শর্তাধীন বিবৃতিতে প্যাটার্ন ম্যাচিং
ব্যাশ সরাসরি শর্তাধীন বিবৃতিতেও regex সমর্থন করে:
[[ "https://example.com" =~ ^https?:// ]] && echo "URL is valid" || echo "URL is invalid"
# আউটপুট: URL is valid
awk
এর সাথে উন্নত প্যাটার্ন ম্যাচিং এবং ম্যানিপুলেশন
awk
একটি আরেকটি টেক্সট-প্রক্রিয়াকরণ টুল যা আরও জটিল ডেটা এক্সট্রাকশন এবং ম্যানিপুলেশন সমর্থন করে। এটি CSV এর মতো গঠিত টেক্সট ডেটা নিয়ে কাজ করার সময় সুবিধাজনক হতে পারে:
echo -e "ID,Name,Age\n1,John,22\n2,Jane,24" | awk -F, '$3 > 22 {print $2 " is older than 22."}'
# আউটপুট: Jane is older than 22.
ব্যাশের অন্তর্মুখী regex কার্যক্ষমতা অনেক ব্যবহার কেস কভার করে, খুব উন্নত regex অপারেশনগুলির জন্য, আপনি ব্যাশ স্ক্রিপ্টসের সাথে perl
অথবা python
স্ক্রিপ্টসের সমন্বয় বিবেচনা করতে পারেন, যেহেতু এই ভাষাগুলি শক্তিশালী regex লাইব্রেরি (যেমন, Python এ re
) অফার করে। Python এর সাথে একটি সহজ উদাহরণ:
echo "Capture this 123" | python3 -c "import sys; import re; print(re.search('(\d+)', sys.stdin.read()).group(0))"
# আউটপুট: 123
প্রয়োজনে এই প্রোগ্রামিং ভাষাগুলি অন্তর্ভুক্ত করে, আপনার ব্যাশ স্ক্রিপ্টগুলিতে regex এর পূর্ণ শক্তি কাজে লাগাতে সাহায্য করতে পারে।