কিভাবে 'sed' কমান্ড ব্যবহার করে একাধিক লাইন প্রতিস্থাপন করবেন

How Replace Multiple Lines Using Sed Command



কখনও কখনও এটি একটি নির্দিষ্ট অক্ষর বা পাঠ্য সঙ্গে একটি ফাইলের একাধিক লাইন প্রতিস্থাপন প্রয়োজন। একটি ফাইলের একাধিক লাইন প্রতিস্থাপন করার জন্য লিনাক্সে বিভিন্ন কমান্ড বিদ্যমান। এই ধরনের কাজ করার জন্য `sed` কমান্ড তাদের মধ্যে একটি। `সেড` এর পূর্ণরূপ হল স্টিম এডিটর, এবং এটি মূলত একটি নিয়মিত অভিব্যক্তি ব্যবহার করে পাঠ্যকে বিভিন্ন উপায়ে পড়তে এবং রূপান্তর করতে ব্যবহৃত হয়। কিভাবে এই কমান্ডটি বিভিন্ন উপায়ে একটি ফাইলের একাধিক লাইন প্রতিস্থাপন করতে ব্যবহার করা যায় তা এই টিউটোরিয়ালে ব্যাখ্যা করা হয়েছে।

সাধারণত ব্যবহৃত 'sed' চিট শীট:

`সেড` কমান্ডে ব্যবহৃত সর্বাধিক ব্যবহৃত অক্ষরগুলি নিম্নলিখিত টেবিলে ব্যাখ্যা করা হয়েছে।







চরিত্র উদ্দেশ্য
প্রতি এটি সামগ্রী যোগ করার জন্য ব্যবহৃত হয়।
এটি কন্টেন্ট শাখা করার জন্য ব্যবহৃত হয়।
এটি সামগ্রী পরিবর্তনের জন্য ব্যবহৃত হয়।
এটি একটি ফাইলের লাইন মুছে ফেলার জন্য ব্যবহৃত হয়।
ডি এটি একটি ফাইলের প্রথম লাইন মুছে ফেলার জন্য ব্যবহৃত হয়।
এটি হোল্ডিং টেক্সট থেকে কপি করত।
এটি হোল্ডিং টেক্সট থেকে যুক্ত করতে ব্যবহৃত হয়।
এটি হোল্ডিং টেক্সটে কপি করতে ব্যবহৃত হয়।
এটি হোল্ডিং টেক্সটের সাথে যুক্ত করতে ব্যবহৃত হয়।
আমি এটি সন্নিবেশের জন্য ব্যবহৃত হয়।
আমি এটি বিকল্প লাইন মুদ্রণ করতে ব্যবহৃত হয়।
n এটি পরবর্তী লাইনে যাওয়ার জন্য ব্যবহৃত হয়।
এন এটি পরবর্তী ইনপুট লাইন সংযোজন করতে ব্যবহৃত হয়।
পৃ এটি প্রিন্ট করতে ব্যবহৃত হয়।
পি এটি প্রথম লাইন মুদ্রণ করতে ব্যবহৃত হয়।
কি এটি প্রস্থান করতে ব্যবহৃত হয়।
প্রশ্ন এটি অবিলম্বে ছেড়ে দেওয়ার জন্য ব্যবহৃত হয়।
আর এটি ফাইল পড়ার জন্য ব্যবহৃত হয়।
আর এটি ফাইল থেকে লাইন পড়তে ব্যবহৃত হয়।
গুলি এটি প্রতিস্থাপন করতে ব্যবহৃত হয়।
টি এটি প্রতিস্থাপনের জন্য পরীক্ষা করতে ব্যবহৃত হয়।
টি এটি কোন প্রতিস্থাপনের জন্য পরীক্ষা করতে ব্যবহৃত হয়।
ভিতরে এটি ফাইলে লিখতে ব্যবহৃত হয়।
ভিতরে এটি ফাইলে একটি লাইন লিখতে ব্যবহৃত হয়।
এক্স এটি প্যাটার্ন সোয়াপ এবং ধরে রাখার জন্য ব্যবহৃত হয়।
এবং এটি অনুবাদ করতে ব্যবহৃত হয়।
সঙ্গে এটি লাইন পরিষ্কার করতে ব্যবহৃত হয়।
'=' এটি লাইন নম্বর প্রিন্ট করতে ব্যবহৃত হয়।

টার্মিনাল থেকে `sed` কমান্ড ব্যবহার করে একাধিক লাইন প্রতিস্থাপন করুন:

কিভাবে টার্মিনাল থেকে একটি ফাইল থেকে একাধিক লাইন প্রতিস্থাপন করতে `sed` কমান্ড ব্যবহার করা যায় তা এই টিউটোরিয়ালের এই অংশে দেখানো হয়েছে। নামে একটি ফাইল তৈরি করুন sed.txt নিম্নলিখিত বিষয়বস্তু দিয়ে এই অংশের কমান্ড পরীক্ষা করুন।



sed.txt



Sed এর পূর্ণরূপ হল স্ট্রিম এডিটর।





এটি একটি ইউনিক্স ইউটিলিটি যা পাঠ্যটিকে একটি ভিন্ন বিন্যাসে পড়তে এবং রূপান্তর করতে ব্যবহৃত হয়।

এটি তৈরি করেছিলেন লি ই ম্যাকমাহন।



এটি পাঠ্য প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়।

এটি নিয়মিত অভিব্যক্তি সমর্থন করে।

উদাহরণ -1: দুটি ধারাবাহিক লাইন প্রতিস্থাপন করুন

নিম্নলিখিত `sed` কমান্ডটি পরপর দুটি লাইনকে অন্য লাইনের সাথে প্রতিস্থাপন করবে। এখানে, -z বিকল্পটি প্রতিস্থাপন পাঠ্য যোগ করার আগে পরপর লাইনগুলিকে নাল ডেটা দিয়ে প্রতিস্থাপন করতে ব্যবহৃত হয়। আদেশ অনুযায়ী, 3rdএবং 4ফাইলের লাইনগুলি পাঠ্য দ্বারা প্রতিস্থাপিত হবে, 'এটি একটি খুব দরকারী হাতিয়ার'

$বিড়ালsed.txt
$sed -সঙ্গে এর/এটি লি ই ম্যাকমাহন দ্বারা বিকশিত হয়েছিল
প্রক্রিয়াকরণ।/এটি একটি খুব দরকারী টুল ।/ '
sed.txt

কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

উদাহরণ -২: ম্যাচ এবং বৈশ্বিক পতাকার উপর ভিত্তি করে একাধিক লাইন প্রতিস্থাপন করুন

নিম্নলিখিত `sed` কমান্ডটি শব্দটি দিয়ে শুরু হওয়া সমস্ত লাইন প্রতিস্থাপন করবে, 'এটা' শব্দ দ্বারা, ' এই লাইন প্রতিস্থাপিত হয় '।

$বিড়ালsed.txt
$sed 'গুলি/এটিsed.txt

কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। তিনটি লাইনে শব্দটি রয়েছে ' এটা 'ফাইলে। সুতরাং, এই লাইনগুলি প্রতিস্থাপন পাঠ্য দ্বারা প্রতিস্থাপিত হয়েছে।

উদাহরণ-3: মিল এবং পরবর্তী লাইন কমান্ডের উপর ভিত্তি করে একাধিক লাইন প্রতিস্থাপন করুন

নিম্নলিখিত 'sed' কমান্ড শব্দটি প্রতিস্থাপন করবে, ' হয় 'শব্দ দ্বারা,' ছিল 'পরবর্তী লাইন কমান্ডের সাথে,' n '।

$বিড়ালsed.txt
$sed '{n;/is/{s/is/was/}}'sed.txt

কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। এখানে, 'হয়' 2 এ বিদ্যমানndএবং 4ফাইলের লাইন, এবং এই লাইনগুলি শব্দ দ্বারা পরিবর্তিত হয় 'ছিল'

`Sed` স্ক্রিপ্ট ফাইল তৈরি করে একাধিক লাইন প্রতিস্থাপন করুন:

পূর্ববর্তী উদাহরণগুলিতে, টার্মিনাল থেকে `sed` কমান্ডগুলি কার্যকর করা হয়েছে। কিন্তু এটি একটি স্ক্রিপ্টিং ল্যাঙ্গুয়েজ, এবং যদি স্ক্রিপ্টে একাধিক স্টেটমেন্ট থাকে, তাহলে স্ক্রিপ্ট দিয়ে একটি sed ফাইল তৈরি করা ভাল। নামে একটি টেক্সট ফাইল তৈরি করুন students.txt নিম্নলিখিত বিষয়বস্তু সহ যেখানে `sed` স্ক্রিপ্ট প্রয়োগ করা হবে।

students.txt

আইডি: 111045
নাম: রবার্ট
বিভাগ: সিএসই
ব্যাচ: 35

আইডি: 111876
নাম: জোসেফ
বিভাগ: বিবিএ
ব্যাচ: 27

আইডি: 111346
নাম: উইলিয়াম
বিভাগ: সিএসই
ব্যাচ: 45

আইডি: 111654
নাম: চার্লস
বিভাগ: ইইই
ব্যাচ: 41

আইডি: 111346
নাম: জন
বিভাগ: সিএসই
ব্যাচ: 25

আইডি: 111746
নাম: টমাস
বিভাগ: সিএসই
ব্যাচ: 15

উদাহরণ -4: `sed` স্ক্রিপ্ট ফাইল ব্যবহার করে একটি ফাইলের একাধিক লাইন প্রতিস্থাপন করুন

নামে একটি sed ফাইল তৈরি করুন প্রতিস্থাপন সার্চ প্যাটার্নের উপর ভিত্তি করে একাধিক লাইন প্রতিস্থাপন করার জন্য নিম্নলিখিত বিষয়বস্তু সহ। এখানে, শব্দটি ' সিএসই 'টেক্সট ফাইলে অনুসন্ধান করা হবে, এবং যদি ম্যাচটি বিদ্যমান থাকে, তাহলে এটি আবার 35 এবং 15 নম্বরটি অনুসন্ধান করবে। যদি ফাইলে দ্বিতীয় ম্যাচটি বিদ্যমান থাকে, তাহলে এটি 45 নম্বর দ্বারা প্রতিস্থাপিত হবে।

প্রতিস্থাপন

/সিএসই/ {
পি; এন;
/35/ {
গুলি/35/চার পাঁচ/;
পি; ডি;
}
/পনের/ {
গুলি/পনের/55/;
পি; ডি;
}
}
p;

ফাইলের বিদ্যমান সামগ্রী পরীক্ষা করতে নিম্নলিখিত কমান্ডটি চালান। 'সিএসই' টেক্সট ফাইলে চারবার উপস্থিত হয়েছিল। 35 এবং 15 দুটি জায়গায় বিদ্যমান।

$বিড়ালstudents.txt

নিম্নলিখিত কমান্ড sed স্ক্রিপ্টের উপর ভিত্তি করে একাধিক লাইনের বিষয়বস্তু প্রতিস্থাপন করবে।

$sed -এন -ফপ্রতিস্থাপিত ছাত্রছাত্রীদের পাঠ্য

কমান্ড চালানোর পর নিচের আউটপুট দেখা যাবে।

উপসংহার

একাধিক লাইন বা 'সেড' কমান্ড ব্যবহার করে একাধিক লাইনের বিষয়বস্তু প্রতিস্থাপনের বিভিন্ন উপায় এই টিউটোরিয়ালে দেখানো হয়েছে। কিভাবে একটি sed ফাইল থেকে `sed` স্ক্রিপ্ট কার্যকর করা যায় তাও এই টিউটোরিয়ালে দেখানো হয়েছে। আমি আশা করি এই টিউটোরিয়াল পাঠককে 'sed' কমান্ড ব্যবহার করে যেকোনো ফাইলের একাধিক লাইন প্রতিস্থাপন করতে সাহায্য করবে।