এখানে সবচেয়ে সহজ সরঞ্জাম হতে পারে sed
। ঢোকাতে b.txt
মধ্যে a.txt
5th লাইন পরে, আপনি লিখতে পেরেছিলেন:
sed '5r b.txt' a.txt
sed
আর্গুমেন্ট ( a.txt
) লাইন লাইন লিখে স্পষ্ট করে ফাইলটি পড়ে । সমস্ত লাইন আউটপুটে যেমন পুনরায় উত্পাদিত হয় ঠিক তেমনই ইনপুটটিতে প্রদর্শিত হয়, যদি না কোনও কমান্ড দ্বারা পরিবর্তন হয়।
5
একটি ঠিকানা (লাইন নম্বর) যা নিম্নলিখিত নির্দেশ অবশ্যই কার্যকর হবে হয়। আমরা যে কমান্ডটি ব্যবহার করি তা হ'ল r
এটি একটি ফাইলের নাম আর্গুমেন্ট হিসাবে (এখানে b.txt
) গ্রহণ করে, এটি পুরোপুরি পড়ে এবং বর্তমান লাইনের পরে আউটপুটে সন্নিবেশ করে।
এটি উপরে দাঁড়িয়ে আছে, এই sed
কমান্ড লাইনটি কোনও ফাইলগুলিতে না লিখে শুধুমাত্র টার্মিনালে আউটপুট প্রিন্ট করবে। আপনি বাশের আউটপুট পুনঃনির্দেশ ব্যবহার করে এটি কোনও নতুন ফাইলে (কোনও ইনপুট ফাইল নয়!) পুনর্নির্দেশ করতে পারেন:
sed '5r b.txt' a.txt > c.txt
অথবা আপনি সরাসরি বাইরের ইনপুট ফাইল পরিবর্তন করতে পারেন a.txt
ব্যবহার করে sed
এর -i
(জন্য "এ জায়গা") সুইচ। আপনি যদি এটি লিখেন তবে -i.bak
এটি প্রত্যয়টি সহ .bak
প্রথমে মূল ইনপুট ফাইলটির একটি ব্যাকআপ কপি তৈরি করবে :
sed -i '5r b.txt' a.txt
একটি উদাহরণ:
$ cat a.txt
January
February
March
April
May
October
November
December
$ cat b.txt
June
July
August
September
$ sed '5r b.txt' a.txt
January
February
March
April
May
June
July
August
September
October
November
December