Bash:
স্ট্রিং থেকে উদ্ধৃতি মুছে ফেলা
কিভাবে:
Bash এ স্ট্রিং থেকে কোট সরানোর জন্য বেশ কিছু উপায় রয়েছে। এখানে কিছু দ্রুত উদাহরণ দেওয়া হল:
#!/bin/bash
# ভেরিয়েবল পরিবর্তনের মাধ্যমে একক এবং দ্বৈত কোট দুটি সরানো
STRING="\"Hello, World!\""
echo ${STRING//\"}
# `tr` ব্যবহার করে কোট ডিলিট করা
STRING="'Hello, World!'"
echo $STRING | tr -d "\'"
# `sed` ব্যবহার করে কোট ডিলিট করা
STRING="\"Hello, World!\""
echo $STRING | sed 's/"//g'
নমুনা আউটপুট:
Hello, World!
Hello, World!
Hello, World!
গভীর ডাইভ
বহু বছর আগে থেকে, Unix কমান্ড যেমন tr
এবং sed
টেক্সট প্রক্রিয়াকরণের প্রাথমিক সরঞ্জাম ছিল। আজও তারা টেক্সট ট্রান্সফরমেশন যেমন উদ্ধরণ সরানোর মতো কাজে তাদের নমনীয়তা এবং শক্তির জন্য ব্যবহৃত হয়। এগুলো কোনও শেল-স্ক্রিপ্টারের টুলবক্সের অন্যতম।
Bash নিজেও তারপর থেকে বিকশিত হয়েছে এবং ভেরিয়েবল পরিবর্তন ছোট স্কেলের স্ট্রিং ম্যানিপুলেশনের জন্য আরেকটি স্তরের সরলতা যোগ করেছে। এটি আপনাকে বাইরের বাইনারি থেকে পাইপিং আউট করার প্রয়োজন থেকে রক্ষা করে, যার ফলে আপনার স্ক্রিপ্টগুলি একটু বেশি দক্ষ হয়।
tr
অক্ষর মুছে ফেলার জন্য দারুণ কাজ করে, তবে এটি আরও জটিল প্যাটার্ন সামলাতে পারে না। অন্যদিকে, sed
নিয়মিত এক্সপ্রেসন ব্যবহার করে, তাই কখনও কখনও এটি অতিরিক্ত হয়ে যায় এবং সাধারণ অপারেশনের জন্য আরও ধীর হতে পারে।
এই পদ্ধতিগুলির মধ্যে নির্বাচন করা আপনার নির্দিষ্ট কেসের উপর নির্ভর করে। যদি আপনাকে বিভিন্ন ধরণের কোট সরানোর প্রয়োজন হয় এবং আপনি ইতিমধ্যে একটি Bash স্ক্রিপ্টের প্রেক্ষাপটে থাকেন, তবে এর সরলতার জন্য ভেরিয়েবল পরিবর্তন ব্যবহার করা স্বাভাবিক। কিন্তু যদি আপনি টেক্সট স্ট্রিম বা বহু-লাইন ডেটা পরিবর্তন করছেন, তবে tr
এবং sed
আপনার যাবার জন্য বন্ধু।
আরও দেখুন:
- GNU Bash ম্যানুয়াল, বিশেষ করে প্যারামিটার এক্সপ্যানশন এবং শেল প্যারামিটার এক্সপ্যানশনের অংশগুলি: https://www.gnu.org/software/bash/manual/
tr
কমান্ড ম্যানুয়াল: https://www.gnu.org/software/coreutils/manual/html_node/tr-invocation.htmlsed
স্ট্রিম এডিটর ওভারভিউ: https://www.gnu.org/software/sed/manual/sed.html