আমি আমার সার্ভারের জন্য শেল স্ক্রিপ্ট লিখছি, যা ফ্রিবিএসডি চালিত একটি শেয়ার্ড হোস্টিং। আমি আমার পিসি চলমান লিনাক্সগুলিতে স্থানীয়ভাবে সেগুলি পরীক্ষা করতে সক্ষম হতে চাই। সুতরাং, আমি এগুলি একটি বহনযোগ্য উপায়ে লেখার চেষ্টা করছি, তবে sedআমি এটি করার কোনও উপায় দেখতে পাচ্ছি না।
আমার ওয়েবসাইটের অংশটি জেনারেটেড স্ট্যাটিক এইচটিএমএল ফাইলগুলি ব্যবহার করে এবং এই সেড লাইনটি প্রতিটি পুনর্জন্মের পরে সঠিক ডক্টইপিইটি প্রবেশ করায়:
sed -i '1s/^/<!DOCTYPE html> \n/' ${file_name.html}
এটি sedলিনাক্সে জিএনইউ নিয়ে কাজ করে, তবে ফ্রিবিএসডি ব্যাকআপ কপির জন্য এক্সটেনশন sedহওয়ার -iবিকল্পের পরে প্রথম যুক্তিটি প্রত্যাশা করে । এটি দেখতে কেমন লাগে:
sed -i '' '1s/^/<!DOCTYPE html> \n/' ${file_name.html}
যাইহোক, GNU sedপ্রত্যাবর্তন করার সাথে সাথেই এই অভিব্যক্তিটি অনুসরণ করবে -i। (এটিতে নিউলাইন হ্যান্ডলিংয়ের সাথে সংশোধন করা দরকার তবে ইতিমধ্যে এখানে উত্তর দেওয়া হয়েছে )
অবশ্যই আমি স্ক্রিপ্টটির আমার সার্ভার অনুলিপিতে এই পরিবর্তনটি অন্তর্ভুক্ত করতে পারি, তবে এটি ভার্চুয়ানের জন্য আমার ভিসিএসের ব্যবহারকে গোলমাল করবে। একটি সম্পূর্ণ পোর্টেবল উপায়ে সেড দিয়ে এটি অর্জন করার কোনও উপায় আছে?
-i