বাশ স্ট্রিং ম্যানিপুলেশন: জানলে অবাক হবেন!
বাশ স্ক্রিপ্টিং শুধু ফাইল চালানো বা লুপ করার জন্য নয়, বরং টেক্সট নিয়ে কাজ করাও এর অন্যতম শক্তিশালী দিক। আপনি যদি সার্ভার মেইনটেইন করেন, লিনাক্স ভিত্তিক অটোমেশন তৈরি করেন, বা শুধু শখের বশে শেল স্ক্রিপ্ট লেখেন, তাহলে bash string manipulation জানা আপনার জন্য অপরিহার্য। এই লেখায় আমরা bash string manipulation উদাহরণসহ বিশদভাবে শিখব কিভাবে স্ট্রিং কাটবেন, খুঁজবেন, পাল্টাবেন এবং আরও অনেক কিছু!
স্ট্রিং এর দৈর্ঘ্য নির্ণয়
স্ট্রিং এর দৈর্ঘ্য বের করা বাশে খুব সহজ:
str="Hello, World!"
echo ${#str} # আউটপুট: 13
স্ট্রিং এর অংশ কাটানো
ধরা যাক আপনাকে স্ট্রিং এর নির্দিষ্ট অংশ দরকার:
str="Bangladesh"
echo ${str:0:5} # আউটপুট: Bangl
এখানে ০ থেকে শুরু করে ৫ ক্যারেক্টার নিয়েছে।
স্ট্রিং এর শুরু বা শেষ থেকে অংশ কাটা
ধরা যাক আপনাকে শুধু শেষ দিক থেকে কিছু অংশ দরকার:
echo ${str: -4} # আউটপুট: desh
একটি স্পেস দিয়ে শুরু করলে বাশ বুঝবে আপনি শেষ দিক থেকে গুনছেন।
স্ট্রিং এর মধ্যে সাবস্ট্রিং খোঁজা
কোন শব্দ আছে কি না তা চেক করতে চাইলে:
if [[ "$str" == *"desh"* ]]; then
echo "আছে!"
fi
এটি একটি প্যাটার্ন ম্যাচিং টেকনিক যা খুবই কার্যকর।
স্ট্রিং রিপ্লেস করা (রিপ্লেসমেন্ট)
ধরা যাক স্ট্রিং এর নির্দিষ্ট অংশ আপনি পাল্টাতে চান:
str="I love Java"
echo ${str/Java/Bash} # আউটপুট: I love Bash
যদি সবগুলো রিপ্লেস করতে চান:
str="banana banana banana"
echo ${str//banana/mango} # আউটপুট: mango mango mango
স্ট্রিং থেকে prefix বা suffix বাদ দেওয়া
ধরা যাক আপনি ফাইলের এক্সটেনশন বাদ দিতে চান:
filename="report.pdf"
echo ${filename%.pdf} # আউটপুট: report
অথবা পাথ থেকে শুধুমাত্র ফাইল নামটা পেতে চান:
path="/home/user/data.csv"
echo ${path##*/} # আউটপুট: data.csv
স্ট্রিং কনক্যাটেনেশন (যোগ করা)
স্ট্রিং একত্র করা খুবই সহজ:
first="Hello" second="World" greeting="$first, $second!" echo $greeting # আউটপুট: Hello, World!
স্ট্রিং কেস পরিবর্তন
বাশ 4.0+ এ আপনি স্ট্রিং এর ক্যাপিটালাইজেশন করতে পারেন:
str="bash"
echo ${str^} # আউটপুট: Bash
echo ${str^^} # আউটপুট: BASH
উল্টোভাবে:
str="HELLO"
echo ${str,} # আউটপুট: hELLO
echo ${str,,} # আউটপুট: hello
স্ট্রিং এর মধ্যে লুপ
স্ট্রিং এর প্রতিটি অক্ষর নিয়ে কাজ করতে চাইলে:
str="abc"
for (( i=0; i<${#str}; i++ )); do
echo "${str:$i:1}"
done
bash string manipulation উদাহরণ: রিয়েল ওয়ার্ল্ড
ধরি আপনার একটি লগ ফাইল আছে যেখানে টাইমস্ট্যাম্প, ইউজারনেম আর অ্যাকশন রয়েছে। আপনি চাইছেন শুধু ইউজারনেম গুলো বের করতে:
while read line; do username=$(echo $line | cut -d',' -f2) echo $username done < logfile.txt
এখানে cut কমান্ড দিয়ে স্ট্রিং থেকে সেগমেন্ট বের করা হচ্ছে।
Regex এবং স্ট্রিং
স্ট্রিং এর উপর regex প্রয়োগ করা যায় এইভাবে:
email="user@example.com" if [[ $email =~ ^[a-zA-Z0-9._%+-]+@example\.com$ ]]; then echo "ভ্যালিড!" fi
bash string manipulation: কখন ব্যবহার করবেন?
যখনই আপনি টেক্সট নিয়ে কাজ করছেন, যেমন লগ প্রসেসিং, ইউজার ইনপুট যাচাই, ফাইলনেম পরিবর্তন ইত্যাদি—তখনই এই টুলগুলো আপনার কাজ সহজ করে তুলবে।
শুদ্ধ ও অপ্টিমাইজড স্ট্রিং হ্যান্ডলিং
বেশি জটিল স্ট্রিং অপারেশনের জন্য আপনি sed বা awk ব্যবহার করতে পারেন, তবে ছোট কাজের জন্য বাশ নিজেই যথেষ্ট।
উপসংহার
bash string manipulation এমন একটি দক্ষতা যা একবার শিখে ফেললে আপনার স্ক্রিপ্টিং লাইফ অনেক সহজ হয়ে যাবে। আমরা আজ শেখলাম substring বের করা, রিপ্লেসমেন্ট, লুপিং, ক্যাপিটালাইজেশন এবং আরও অনেক কিছু। bash string manipulation উদাহরণসহ এই গাইডটি আশা করি আপনাকে অনুপ্রাণিত করেছে নিজে হাতে প্র্যাকটিস করতে। শেল স্ক্রিপ্টিং হোক আরও মজার ও শক্তিশালী—শুধু কিছু স্ট্রিং কমান্ড জানলেই!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!