আমার কাছে এমন একটি ফাইল রয়েছে যাতে এক্সএমএল এর একাধিক লাইন থাকে। আমি ফাইলের কিছু অংশ প্রতিস্থাপন করতে চাই। ফাইলের কিছু অংশে উদ্ধৃতি চিহ্ন রয়েছে ( "
) যা আমি প্রতিস্থাপন করতে চাই। আমি এর সাথে উদ্ধৃতি চিহ্নটি এড়াতে চেষ্টা করেছি \
, তবে আমার ফাইলের ফলাফলের ভিত্তিতে এটি কাজ করছে বলে আমি মনে করি না।
এখানে আমার সেড কমান্ডগুলির একটি উদাহরণ:
sed -e "s/\"text\"/'text'/ig" file.xml > temp.tmp
আপনি কি এইভাবে একটি সেড কমান্ডের উদ্ধৃতি চিহ্নগুলি থেকে বাঁচলেন বা আমি কোনও ভুল করছি?
\"
সেড কমান্ডে উদ্ধৃতি চিহ্নগুলি পালানোর সঠিক উপায়?
"
। তবে আপনার শেল কমান্ডটি একটি ডাবল-কোটেড স্ট্রিং ব্যবহার করে এবং \"
সেখানে সঠিক। sed
প্রোগ্রাম দেখেন s/"text"/'text'/ig
করার যুক্তি হিসেবে -e
।
s/\"text\" /'text'/ig
এটির "text"
পরে কেবল স্থানটি পাওয়া যাবে?
sed
কাজের জন্য সঠিক হাতিয়ার, সম্ভবত আপনি কোনও এক্সএমএল পার্সার চান।
"text"
সঙ্গে'text'
। অবশ্যই এটি কিছুই করবে না"othertext"
। কয়েকটি ইনপুট লাইন, সম্পর্কিত অনাকাঙ্ক্ষিত আউটপুট দেখান এবং পরিবর্তে আপনি কী আউটপুট চান তা ব্যাখ্যা করুন।