Bash:
স্ট্রিংকে লোয়ার কেসে রূপান্তর করা
কিভাবে:
এখানে বাশে একটি স্ট্রিংকে লোয়ার কেসে রূপান্তর করার সহজ উপায় দেওয়া হল:
str="Make Me Lower Case"
lower_str=$(echo "$str" | tr '[:upper:]' '[:lower:]')
echo $lower_str
আউটপুট:
make me lower case
বাশ 4.0 এবং তার উপরের ভার্সনে প্যারামিটার এক্সপানশন দিয়ে একটি বিল্ট-ইন উপায় আছে:
str="Make Me Lower Case"
lower_str="${str,,}"
echo $lower_str
আউটপুট:
make me lower case
গভীর ডাইভ
বাশ 4.0 এর আগে, স্ট্রিংগুলিকে লোয়ার কেসে রূপান্তর করার জন্য সাধারণত tr
, awk
, বা sed
এর মত বাহ্যিক ইউটিলিটিগুলি ব্যবহার করা হত। এগুলি প্রত্যেকই কেবল কেস পরিবর্তন করার চেয়ে বেশি কিছু উপায়ে স্ট্রিংগুলিকে ম্যানিপুলেট করার বিভিন্ন উপায় প্রদান করে, তবে এগুলি নতুন প্রক্রিয়া তৈরি করতে পারে, পারফরম্যান্স প্রভাবিত করতে পারে।
${parameter,,pattern}
সিনট্যাক্সের পরিচয় বাশ 4.0 এ একটি দেশীয় ফিচার প্রদান করে যা দ্রুত এবং বাহ্যিক ইউটিলিটির উপর নির্ভর করে না। বাশের মধ্যে বিকল্প উপায়গুলি আছে:
awk
:echo $str | awk '{print tolower($0)}'
sed
:echo $str | sed 's/[A-Z]/\L&/g'
tr
:echo $str | tr '[:upper:]' '[:lower:]'
- যেমন উপরে দেখানো হয়েছে।
বাস্তবায়নের দিক থেকে, ${parameter,,pattern}
কেবল এএসসিআই অক্ষরগুলিকেই রূপান্তর করে না; এগুলি ইউটিএফ-৮ সচেতন এবং ইংরেজি ছাড়া ভাষার অক্ষরগুলিকে সামলাতে পারে, যা এগুলিকে আন্তর্জাতিক অ্যাপ্লিকেশনের জন্য বহুমুখী করে তোলে।
দেখুন এছাড়াও
- বাশ প্যারামিটার এক্সপানশন: https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
tr
কমান্ড: https://www.gnu.org/software/coreutils/manual/html_node/tr-invocation.html- এডব্লিউকে প্রোগ্রামিং: https://www.gnu.org/software/gawk/manual/gawk.html
sed
স্ট্রিম এডিটর: https://www.gnu.org/software/sed/manual/sed.html