Bash:
টেক্সট অনুসন্ধান এবং প্রতিস্থাপন
কিভাবে:
এখানে ব্যাশে অনুসন্ধান এবং প্রতিস্থাপনের ক্ষমতা কীভাবে প্রয়োগ করবেন তা রয়েছে:
sed
ব্যবহার করে স্ট্রিংয়ের মধ্যে টেক্সট প্রতিস্থাপন:
echo "Hello world" | sed 's/world/universe/'
# আউটপুট: Hello universe
- ফাইলে টেক্সট প্রতিস্থাপন করে পরিবর্তনগুলি সংরক্ষণ:
sed -i 's/old_text/new_text/g' file.txt
- আপনার অনুসন্ধান এবং প্রতিস্থাপনে ভেরিয়েবল ব্যবহার করুন:
old="apple"
new="banana"
sed "s/$old/$new/g" <<< "I like apple pies"
# আউটপুট: I like banana pies
মনে রাখবেন, শেষের g
মানে “গ্লোবাল”, সুতরাং আপনি লাইনের প্রথম ম্যাচটি নয়, প্রতিটি ম্যাচ পরিবর্তন করেন।
গভীর ডাইভ
ইউনিক্স-সদৃশ সিস্টেমগুলিতে টেক্সট প্রক্রিয়াজাতকরণের জন্য বহুকাল ধরে টুলস রয়েছে। sed
, যা স্ট্রিম এডিটরের জন্য সংক্ষিপ্ত, এমন একটি টুল এবং এটি ১৯৭০-এর দশক থেকে বিদ্যমান। এটি শুধু সরল প্রতিস্থাপনের জন্য নয়; sed
জটিল প্যাটার্নেও টেক্সট কাটা এবং সাজাতে পারে।
বিকল্প? অবশ্যই। awk
একটু আরও উন্নত এবং কলাম এবং সারি নিয়ে চমক সৃষ্টি করতে পারে। দ্রুত মেরামতের জন্য, grep
আপনাকে জিনিস খুঁজে পেতে সাহায্য করতে পারে, কিন্তু এটি প্রতিস্থাপন করবে না – এটি আরও বেশি পাহারা দেয়ার মতো।
অভ্যন্তরে, sed
নিয়মিত এক্সপ্রেশন ব্যবহার করে, যা স্টেরয়েডে ওয়াইল্ডকার্ডের মতো। এগুলি প্রায় আপনি যেকোনো প্যাটার্নের সাথে ম্যাচ করতে পারে। এটি sed
কে অত্যন্ত শক্তিশালী করে তোলে, কিন্তু এটি দখল করা একটু কঠিনও বটে।
দেখুন এছাড়াও
sed
এর ম্যানুয়ালের জন্যman sed
sed
এর পরিচিতি- নিয়মিত এক্সপ্রেশনস শুরুকারীদের জন্য
- আরও ব্যাশ কৌশলের জন্য দ্য আর্ট অফ কমান্ড লাইন (https://github.com/jlevy/the-art-of-command-line)