আমার একটি সেড রিপ্লেসমেন্ট কমান্ড রয়েছে যা আমি বিএসডি sed
পাশাপাশি জিএনইউর সাথে সামঞ্জস্য রাখতে চাই sed
। এই ক্ষেত্রে আমার প্রয়োজন নেই বলে বর্ধিত নিয়মিত প্রকাশগুলি কোনও সমস্যা নয়। আমার প্রাথমিক সমস্যাটি প্রতিস্থাপনের স্ট্রিংগুলিতে যেভাবে দু'জন sed
চরিত্রের পালানোর সিকোয়েন্স ব্যাখ্যা করে তার মধ্যে পার্থক্য । আমার প্রতিস্থাপনের স্ট্রিংয়ে ট্যাব এবং নিউলাইন রয়েছে এবং আমি চাইছি রক্ষণাবেক্ষণের স্বাচ্ছন্দ্যের জন্য কমান্ড স্ট্রিংগুলিতে সেগুলি দৃশ্যমান হোক, তবে, বিএসডি এস্কেপ সিকোয়েন্সগুলি ব্যাখ্যা করে না এবং জিএনইউ করে । বিএসডি-তে এই পালানোর ক্রমগুলি ব্যাখ্যা করার উপযুক্ত নির্দেশ কী ? নিম্নলিখিত দুটি স্নিপেটগুলি আমার সমস্যার চিত্র তুলে ধরেছে:sed
sed
sed
গনুহ sed
echo ABC | sed 's/B/\n\tB\n'
yeilds
A
B
C
বাসদ sed
echo ABC | sed 's/B\n\tB\n'
উৎপাদনের
AntBnC
স্পষ্টতই, \n
এবং \t
বিএসডি দ্বারা পালানোর ক্রম হিসাবে ব্যাখ্যা করা হয় নাsed
এখন, আমার প্রশ্ন। বিএসডি sed
ম্যানপেজ অনুসারে :
প্রতিস্থাপনের স্ট্রিংয়ে একটি নতুন লাইন অক্ষর নির্দিষ্ট করতে, এটি ব্যাকস্ল্যাশ দিয়ে আগে করুন।
এটি কি বোঝায় যে আমাকে ব্যাকস্ল্যাশের মাধ্যমে আক্ষরিক নতুন লাইনের আগে চলে যাওয়া দরকার ? প্রতিস্থাপন পাঠ্যের sed
মতো পালানোর ক্রমগুলি ব্যাখ্যা করার উপযুক্ত নির্দেশ কী \n
?
sed
। শেষ পর্যন্ত এটি সম্ভবত awk ব্যবহার করার জন্য বোধগম্য হবে। সুতরাং আমি যে BSD সেড ম্যানপেজটি উদ্ধৃত করেছি তার ব্যাখ্যা সম্পর্কে আপনি কী ভাবেন?