সতর্কতা : এটি নিউলাইনগুলি বিবেচনা করে না । আরও গভীর-উত্তরের জন্য, পরিবর্তে এই এসও-প্রশ্নটি দেখুন । (ধন্যবাদ, এড মর্টন ও নিক্লাস পিটার)
মনে রাখবেন যে সবকিছু থেকে পালানো একটি খারাপ ধারণা। শেডের বিশেষ অর্থ পেতে বাঁচতে অনেক চরিত্রের প্রয়োজন । উদাহরণস্বরূপ, আপনি যদি প্রতিস্থাপনের স্ট্রিংয়ে একটি অঙ্ক থেকে অব্যাহতি পান তবে এটি একটি পিছনের ক্ষেত্রে সক্রিয় হবে।
বেন ব্ল্যাঙ্ক যেমন বলেছিলেন, প্রতিস্থাপনের স্ট্রিংয়ে কেবল তিনটি অক্ষর এড়ানো দরকার (নিজেরাই পালিয়ে যায়, বিবৃতি শেষে এবং সমস্ত প্রতিস্থাপনের জন্য ফরোয়ার্ড স্ল্যাশ):
ESCAPED_REPLACE=$(echo $REPLACE | sed -e 's/[\/&]/\\&/g')
# Now you can use ESCAPED_REPLACE in the original sed statement
sed "s/KEYWORD/$ESCAPED_REPLACE/g"
আপনার যদি কখনও KEYWORD
স্ট্রিং থেকে বাঁচার প্রয়োজন হয় তবে নিম্নলিখিতটি আপনার প্রয়োজন:
sed -e 's/[]\/$*.^[]/\\&/g'
এবং এর দ্বারা ব্যবহার করা যেতে পারে:
KEYWORD="The Keyword You Need";
ESCAPED_KEYWORD=$(echo $KEYWORD | sed -e 's/[]\/$*.^[]/\\&/g');
# Now you can use it inside the original sed statement to replace text
sed "s/$ESCAPED_KEYWORD/$ESCAPED_REPLACE/g"
মনে রাখবেন, আপনি যদি /
ডিলিমিটার ব্যতীত অন্য কোনও চরিত্র ব্যবহার করেন তবে উপরের অভিব্যক্তিগুলিতে আপনি যে চরিত্রটি ব্যবহার করছেন তা স্ল্যাশ প্রতিস্থাপন করতে হবে। ব্যাখ্যার জন্য পিটারজেসিএলওর মন্তব্য দেখুন।
সম্পাদিত: কিছু কোণার ক্ষেত্রে আগে জবাবদিহি না করায়, উপরের কমান্ডগুলি বেশ কয়েকবার পরিবর্তিত হয়েছে। বিশদ জন্য সম্পাদনা ইতিহাস পরীক্ষা করুন।