Sed (Stream Editor) একটি শক্তিশালী টুল যা টেক্সট ফাইল বা স্ট্রিমের মধ্যে পরিবর্তন করতে ব্যবহৃত হয়। এখানে Sed এর বেসিক কমান্ডগুলো দেওয়া হলো, যা টেক্সট ফাইলের মধ্যে পরিবর্তন করার জন্য ব্যবহৃত হয়।
1. Search and Replace (সার্চ এবং রিপ্লেস)
Sed ব্যবহার করে কোনো টেক্সট ফাইলে একটি প্যাটার্ন খুঁজে সেটি প্রতিস্থাপন করা যায়। এটি সবচেয়ে সাধারণ এবং ব্যাপকভাবে ব্যবহৃত কমান্ড।
সিনট্যাক্স:
sed 's/old_text/new_text/' file.txtএটি file.txt ফাইলে "old_text"-কে "new_text"-এ প্রতিস্থাপন করবে।
এখানে:
s: সার্চ এবং রিপ্লেস অপারেশন নির্দেশ করে।old_text: খুঁজে বের করা হবে এমন টেক্সট।new_text: পুরানো টেক্সটের জায়গায় প্রতিস্থাপন হবে।
উদাহরণ:
sed 's/cat/dog/' file.txtএই কমান্ডটি file.txt ফাইলে প্রথম "cat" শব্দটি "dog"-এ প্রতিস্থাপন করবে।
2. Global Replace (গ্লোবাল রিপ্লেসমেন্ট)
যখন আপনি একটি লাইনে সমস্ত occurrences পরিবর্তন করতে চান, তখন g ফ্ল্যাগ ব্যবহার করা হয়।
সিনট্যাক্স:
sed 's/old_text/new_text/g' file.txtউদাহরণ:
sed 's/cat/dog/g' file.txtএটি file.txt ফাইলে সমস্ত "cat" শব্দগুলোকে "dog"-এ পরিবর্তন করবে।
3. Delete Line (লাইন মুছে ফেলা)
Sed দিয়ে আপনি নির্দিষ্ট লাইন মুছে ফেলতে পারেন। এটি d কমান্ডের মাধ্যমে করা হয়। আপনি কোনো নির্দিষ্ট লাইন বা লাইন রেঞ্জ মুছতে পারেন।
সিনট্যাক্স:
sed 'line_numberd' file.txtউদাহরণ:
sed '3d' file.txtএই কমান্ডটি file.txt থেকে তৃতীয় লাইনটি মুছে ফেলবে।
4. Delete Empty Lines (খালি লাইন মুছে ফেলা)
আপনি ফাইলে থাকা খালি লাইনগুলো মুছতে পারেন। এটি খুবই কাজে আসে যখন আপনি কোনো ফাইল থেকে অপ্রয়োজনীয় খালি লাইনগুলো মুছে ফেলতে চান।
সিনট্যাক্স:
sed '/^$/d' file.txtউদাহরণ:
sed '/^$/d' file.txtএটি file.txt থেকে সমস্ত খালি লাইন মুছে ফেলবে।
5. Add a Line After a Specific Line (নির্দিষ্ট লাইনের পরে নতুন লাইন যোগ করা)
Sed দিয়ে আপনি একটি নির্দিষ্ট লাইনের পরে নতুন লাইন যোগ করতে পারেন। এটি a (add) কমান্ড দিয়ে করা হয়।
সিনট্যাক্স:
sed 'line_numbera new_line' file.txtউদাহরণ:
sed '2a This is a new line' file.txtএটি file.txt এর দ্বিতীয় লাইনের পরে "This is a new line" যোগ করবে।
6. Insert a Line Before a Specific Line (নির্দিষ্ট লাইনের আগে নতুন লাইন যোগ করা)
আপনি নির্দিষ্ট লাইনের আগে নতুন লাইন যোগ করতে i (insert) কমান্ড ব্যবহার করতে পারেন।
সিনট্যাক্স:
sed 'line_numberi new_line' file.txtউদাহরণ:
sed '3i This line is inserted before line 3' file.txtএটি file.txt এর তৃতীয় লাইনের আগে "This line is inserted before line 3" যোগ করবে।
7. Print Specific Lines (নির্দিষ্ট লাইন প্রিন্ট করা)
Sed দিয়ে আপনি একটি প্যাটার্নের সাথে মিলে এমন নির্দিষ্ট লাইনগুলি প্রিন্ট করতে পারেন। এটি p কমান্ড দিয়ে করা হয়।
সিনট্যাক্স:
sed -n '/pattern/p' file.txtউদাহরণ:
sed -n '/dog/p' file.txtএটি file.txt থেকে "dog" শব্দযুক্ত লাইনগুলো প্রিন্ট করবে।
8. In-place Editing (ইন-প্লেস এডিটিং)
Sed দিয়ে আপনি ফাইলের মধ্যে সরাসরি পরিবর্তন করতে পারেন, এটি -i অপশন দিয়ে করা হয়। এতে ফাইলটি পরিবর্তন হয়ে যাবে এবং নতুন ফাইল তৈরি হবে না।
সিনট্যাক্স:
sed -i 's/old_text/new_text/g' file.txtউদাহরণ:
sed -i 's/cat/dog/g' file.txtএটি file.txt ফাইলে সমস্ত "cat" শব্দগুলোকে "dog"-এ পরিবর্তন করবে এবং তা সরাসরি সেভ করবে।
9. Multiple Commands (একাধিক কমান্ড একসাথে ব্যবহার করা)
Sed দিয়ে একাধিক কমান্ড একসাথে ব্যবহার করা যায় -e অপশন দিয়ে। এটি একাধিক পরিবর্তন এক লাইনে করতে সহায়তা করে।
সিনট্যাক্স:
sed -e 'command1' -e 'command2' file.txtউদাহরণ:
sed -e 's/cat/dog/' -e 's/dog/bird/' file.txtএটি প্রথমে "cat"-কে "dog"-এ এবং তারপর "dog"-কে "bird"-এ পরিবর্তন করবে।
10. Substitute Only on Matching Lines (ম্যাচিং লাইনগুলোতে শুধু প্রতিস্থাপন করা)
Sed দিয়ে আপনি শুধু এমন লাইনে প্রতিস্থাপন করতে পারেন যেগুলো নির্দিষ্ট প্যাটার্নের সাথে মিলে। এর জন্য আপনি /pattern/ ব্যবহার করতে পারেন।
সিনট্যাক্স:
sed '/pattern/s/old_text/new_text/' file.txtউদাহরণ:
sed '/cat/s/cat/dog/' file.txtএটি শুধুমাত্র সেই সব লাইনগুলিতে "cat"-কে "dog"-এ পরিবর্তন করবে যেগুলির মধ্যে "cat" আছে।
সারাংশ
Sed হল একটি শক্তিশালী টুল যা আপনাকে টেক্সট ফাইলের মধ্যে সহজেই বিভিন্ন পরিবর্তন করতে সহায়তা করে। এর মাধ্যমে আপনি search, replace, delete, add, এবং insert এর মতো কাজগুলি দ্রুত এবং কার্যকরভাবে করতে পারেন। Sed এর কমান্ডগুলো খুবই সোজা, তবে এটির ব্যবহারকারীর প্রয়োজন অনুযায়ী একাধিক পদ্ধতিতে সংশোধন করা যায়।
Sed (Stream Editor) কমান্ডের সাধারণ গঠন নিম্নরূপ:
sed [options] 'command' input-fileএখানে:
- [options]: Sed কমান্ডের বিভিন্ন অপশন যা বিশেষ কাজের জন্য ব্যবহৃত হয় (যেমন,
-iইন-প্লেস পরিবর্তনের জন্য বা-nআউটপুট কন্ট্রোল করার জন্য)। - 'command': Sed কমান্ড যা আপনি চালাতে চান, যেমন টেক্সট সার্চ এবং রিপ্লেস (যেমন
s/pattern/replacement/)। - input-file: ফাইলের নাম বা ইনপুট, যেখানে Sed কমান্ড প্রয়োগ করা হবে।
Sed কমান্ডের সাধারণ গঠন উদাহরণ
Search and Replace (সার্চ এবং রিপ্লেস)
সাধারণ সিনট্যাক্স:sed 's/old_text/new_text/' input-fileউদাহরণ:
sed 's/cat/dog/' file.txtএখানে, "cat" শব্দটি প্রথম occurrence হিসেবে "dog"-এ প্রতিস্থাপন হবে।
Global Search and Replace (গ্লোবাল সার্চ এবং রিপ্লেস)
যদি আপনি পুরো ফাইলে সব occurrences পরিবর্তন করতে চান, তাহলেgফ্ল্যাগ ব্যবহার করা হয়।sed 's/old_text/new_text/g' input-fileউদাহরণ:
sed 's/cat/dog/g' file.txtএটি ফাইলের প্রতিটি "cat" শব্দকে "dog"-এ পরিবর্তন করবে।
Delete Line (লাইন মুছে ফেলা)
আপনি নির্দিষ্ট লাইন মুছে ফেলতেdকমান্ড ব্যবহার করতে পারেন।sed 'line_numberd' input-fileউদাহরণ:
sed '3d' file.txtএটি
file.txtথেকে তৃতীয় লাইনটি মুছে ফেলবে।Add Line (লাইন যোগ করা)
আপনি নির্দিষ্ট লাইনে নতুন কিছু যোগ করতেa(add) বাi(insert) কমান্ড ব্যবহার করতে পারেন।sed 'line_numbera new_line' input-fileউদাহরণ:
sed '2a This is a new line' file.txtএটি
file.txtএর দ্বিতীয় লাইনের পরে "This is a new line" যোগ করবে।Print Lines Matching a Pattern (প্যাটার্ন ম্যাচ করা লাইন প্রিন্ট করা)
আপনি শুধুমাত্র প্যাটার্ন ম্যাচ করা লাইনগুলো প্রিন্ট করতে-nঅপশন এবংpকমান্ড ব্যবহার করতে পারেন।sed -n '/pattern/p' input-fileউদাহরণ:
sed -n '/cat/p' file.txtএটি
file.txtথেকে শুধুমাত্র "cat" শব্দটি পাওয়া লাইনগুলো প্রিন্ট করবে।
Sed কমান্ডের অপশন
-i: ইন-প্লেস পরিবর্তন। এটি ফাইলটি সরাসরি পরিবর্তন করে, নতুন আউটপুট ফাইল তৈরি না করে।
sed -i 's/cat/dog/g' file.txt-n: আউটপুট কন্ট্রোল। এটি সাধারণত কোনো আউটপুট দেখায় না, তবে
pকমান্ডের সাথে ব্যবহার করলে প্যাটার্ন ম্যাচ হওয়া লাইনগুলো প্রিন্ট করে।sed -n '/cat/p' file.txt-e: একাধিক কমান্ড একসাথে রান করতে ব্যবহার হয়।
sed -e 's/cat/dog/' -e 's/dog/bird/' file.txt-f: একটি স্ক্রিপ্ট ফাইল থেকে কমান্ড লোড করতে ব্যবহার হয়।
sed -f script.sed input-file
সারাংশ
Sed কমান্ডের সাধারণ গঠন খুবই সরল, যেখানে আপনি একটি বা একাধিক কমান্ড দিয়ে টেক্সট ফাইলের মধ্যে পরিবর্তন করতে পারেন। আপনি বিভিন্ন অপশন দিয়ে Sed কমান্ডের কার্যকারিতা বাড়াতে পারেন, যেমন ইন-প্লেস পরিবর্তন, প্যাটার্ন ম্যাচিং, এবং একাধিক কমান্ড একত্রিত করা।
p (print) কমান্ড Sed এর একটি গুরুত্বপূর্ণ কমান্ড যা নির্দিষ্ট প্যাটার্ন বা লাইন প্রদর্শন করতে ব্যবহৃত হয়। Sed সাধারণত টেক্সট ফাইলের মধ্যে পরিবর্তন করে বা ম্যানিপুলেট করে, তবে আপনি যদি শুধু কিছু নির্দিষ্ট লাইন বা প্যাটার্ন প্রদর্শন করতে চান, তাহলে p কমান্ড ব্যবহার করা হয়।
Sed এর p কমান্ড মূলত একটি "printing" অপারেশন হিসেবে কাজ করে, যেখানে আপনি যেসব লাইন বা প্যাটার্ন দেখতে চান, সেগুলো কেবলমাত্র আউটপুট হিসেবে প্রদর্শিত হয়।
p কমান্ডের মৌলিক ব্যবহার
Sed এর p কমান্ডের মূল উদ্দেশ্য হলো টেক্সট ফাইলের মধ্যে কোনো নির্দিষ্ট প্যাটার্ন বা লাইনের সাথে মিলে এমন লাইনগুলো প্রদর্শন করা। সাধারণত -n অপশন ব্যবহার করে Sed এ আউটপুট কেবল তখনই দেখা যায়, যখন প্যাটার্ন মিলে।
সিনট্যাক্স:
sed -n '/pattern/p' file.txtএখানে:
-n: এটি Sed কে নির্দেশ করে যে, শুধু সেই লাইনগুলো প্রিন্ট করবে যেগুলোর সাথে কোনো প্যাটার্ন মিলে। সাধারাণত Sed ফাইল পরিবর্তন করে, কিন্তু-nঅপশন দিয়ে আপনি আউটপুট নিয়ন্ত্রণ করতে পারেন।/pattern/: এটি একটি প্যাটার্ন, যা আপনি খুঁজে বের করতে চান। এটি রেগুলার এক্সপ্রেশনও হতে পারে।p: এটি সেই লাইনগুলো প্রিন্ট করতে বলে, যেগুলো প্যাটার্নের সাথে মেলে।
p কমান্ডের উদাহরণ:
প্যাটার্ন দিয়ে নির্দিষ্ট লাইন প্রিন্ট করা
আপনি যদি একটি ফাইলে "cat" শব্দের সাথে মিলে এমন সমস্ত লাইন প্রিন্ট করতে চান, তাহলে এই কমান্ডটি ব্যবহার করবেন:sed -n '/cat/p' file.txtএখানে:
-nঅপশন ব্যবহার করে, Sed আউটপুট হিসেবে শুধুমাত্র "cat" শব্দযুক্ত লাইনগুলো প্রদর্শন করবে।/cat/প্যাটার্নটি সেই সব লাইনগুলো খুঁজে বের করবে যেখানে "cat" শব্দ রয়েছে।pনির্দেশ করবে যে, ঐ সব লাইনের আউটপুট দেখানো হবে।
বিশেষ শব্দ বা প্যাটার্ন খুঁজে তার সাথে মেলে এমন লাইন প্রিন্ট করা
আপনি যদি "dog" শব্দের সাথে মিলে এমন লাইনগুলোকেই দেখাতে চান, তাহলে:sed -n '/dog/p' file.txtএই কমান্ডটি
file.txtফাইলে "dog" শব্দের সাথে মেলে এমন সমস্ত লাইন প্রিন্ট করবে।নির্দিষ্ট লাইন প্রিন্ট করা
আপনি যদি নির্দিষ্ট লাইন প্রিন্ট করতে চান, যেমন প্রথম তিনটি লাইন:sed -n '1,3p' file.txtএই কমান্ডটি প্রথম থেকে তৃতীয় লাইন পর্যন্ত
file.txtথেকে প্রিন্ট করবে।নির্দিষ্ট শব্দের সাথে শুরু হওয়া লাইন প্রিন্ট করা
আপনি যদি শুধু সেই লাইনগুলো দেখতে চান যা "Hello" দিয়ে শুরু হয়, তাহলে:sed -n '/^Hello/p' file.txtএখানে
^Helloদ্বারা বোঝানো হচ্ছে যে, লাইনটি "Hello"-এ শুরু হয়।
Multiple Patterns with p কমান্ড
একাধিক প্যাটার্নের জন্য Sed দিয়ে একাধিক লাইন প্রিন্ট করা যায়। উদাহরণস্বরূপ, আপনি যদি "cat" এবং "dog" উভয় শব্দের সাথে মিল থাকা লাইনগুলো দেখতে চান, তাহলে:
sed -n '/cat/p; /dog/p' file.txtএটি file.txt ফাইলে "cat" এবং "dog" উভয় শব্দের সাথে মেলে এমন লাইনগুলো প্রিন্ট করবে।
p কমান্ডের অন্যান্য ব্যবহার
লিখিত আউটপুট পরিবর্তন করতে
যদি আপনি প্যাটার্ন ম্যাচ হওয়া লাইনগুলোকে কোনো নির্দিষ্ট আউটপুট ফাইলে লিখতে চান, তাহলে-iঅপশন ব্যবহার করা যেতে পারে।sed -n '/pattern/p' input.txt > output.txtপ্যাটার্নের আগে বা পরে কিছু টেক্সট যোগ করা
আপনি যদি কোনো নির্দিষ্ট প্যাটার্ন প্রিন্ট করার পাশাপাশি তার আগে বা পরে কোনো টেক্সট যোগ করতে চান, তাহলে তা করতে পারেন।উদাহরণ:
sed -n '/pattern/{s/^/Prefix: /;p}' file.txtএটি "pattern" প্যাটার্নের সাথে মিল পাওয়া লাইনগুলির আগে "Prefix: " যোগ করবে এবং সেগুলো প্রিন্ট করবে।
p কমান্ডের সীমাবদ্ধতা
- অফলাইন অপারেশন: Sed টুলটি মূলত লাইনের মধ্যে পরিবর্তন করার জন্য ব্যবহৃত হয়। তবে,
pকমান্ড শুধুমাত্র প্যাটার্নের ভিত্তিতে আউটপুট প্রদর্শন করে, কিন্তু এটি পরিবর্তন বা ম্যানিপুলেশন করে না (যেমনs/old/new/কমান্ড করে)। -nঅপশন:pকমান্ডের সাথে সাধারণত-nঅপশন ব্যবহার করতে হয়, না হলে এটি সব লাইনকে প্রিন্ট করবে, যা অপ্রত্যাশিত হতে পারে।
সারাংশ
p (print) কমান্ড Sed এর মধ্যে একটি গুরুত্বপূর্ণ উপাদান, যা নির্দিষ্ট প্যাটার্ন বা লাইনগুলো আউটপুট হিসেবে প্রদর্শন করতে ব্যবহৃত হয়। এটি ফাইলের মধ্যে কোনো প্যাটার্নের সাথে মেলে এমন লাইনগুলো দেখতে সহায়ক এবং -n অপশন ব্যবহার করে শুধুমাত্র নির্বাচিত লাইনগুলো প্রিন্ট করা হয়। p কমান্ডটি Sed-এর অন্যান্য শক্তিশালী ফিচারের সাথে মিলিয়ে ব্যবহার করলে আরও কার্যকর হতে পারে।
Sed এর d (delete) কমান্ড ব্যবহার করে আপনি টেক্সট ফাইলের নির্দিষ্ট লাইন বা লাইনগুলো মুছে ফেলতে পারেন। এটি বিশেষভাবে ব্যবহৃত হয় যখন আপনি কোনো ফাইলের মধ্যে নির্দিষ্ট অংশ বা লাইন মুছে ফেলতে চান। Sed সাধারণত এক বা একাধিক লাইন মুছতে ব্যবহার করা যায়।
d (Delete) কমান্ডের ব্যবহার
Sintax:
sed 'line_numberd' input-fileএখানে:
line_numberহলো সেই লাইন বা লাইন রেঞ্জ যেগুলো আপনি মুছে ফেলতে চান।input-fileহলো টেক্সট ফাইল যার মধ্যে আপনি লাইন মুছবেন।
নির্দিষ্ট লাইন মুছে ফেলা
আপনি যদি নির্দিষ্ট একটি লাইন মুছে ফেলতে চান, তাহলে সেই লাইন নম্বরের পরে d কমান্ড ব্যবহার করবেন।
উদাহরণ 1:
sed '3d' file.txtএই কমান্ডটি file.txt থেকে তৃতীয় লাইনটি মুছে ফেলবে।
নির্দিষ্ট রেঞ্জের লাইন মুছে ফেলা
আপনি যদি একাধিক লাইন মুছে ফেলতে চান, তবে লাইন নম্বরের একটি রেঞ্জ নির্ধারণ করতে পারেন।
উদাহরণ 2:
sed '2,4d' file.txtএটি file.txt থেকে দ্বিতীয় থেকে চতুর্থ লাইন পর্যন্ত মুছে ফেলবে।
ফাইলের শেষ লাইন মুছে ফেলা
যদি আপনি ফাইলের শেষ লাইনটি মুছে ফেলতে চান, তবে $ (ডলার সাইন) ব্যবহার করতে পারেন, যা ফাইলের শেষ লাইন নির্দেশ করে।
উদাহরণ 3:
sed '$d' file.txtএটি file.txt এর শেষ লাইনটি মুছে ফেলবে।
কিছু শর্তের ভিত্তিতে লাইন মুছে ফেলা
আপনি যদি কোনো নির্দিষ্ট প্যাটার্নের ভিত্তিতে লাইন মুছে ফেলতে চান, তাহলে সেই প্যাটার্নটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি আপনি সেই সব লাইন মুছে ফেলতে চান যেগুলো "error" শব্দটি ধারণ করে, তাহলে এটি করতে পারবেন:
উদাহরণ 4:
sed '/error/d' file.txtএটি file.txt থেকে "error" শব্দের সাথে মিল থাকা সমস্ত লাইন মুছে ফেলবে।
In-place মুছে ফেলা
যদি আপনি সরাসরি ফাইলের মধ্যে পরিবর্তন করতে চান এবং নতুন আউটপুট ফাইল তৈরি না করতে চান, তাহলে -i অপশন ব্যবহার করতে হবে। এটি ফাইলের মধ্যে পরিবর্তন করবে এবং সেটি সেভ করবে।
উদাহরণ 5:
sed -i '3d' file.txtএটি file.txt ফাইলের তৃতীয় লাইনটি সরাসরি মুছে ফেলবে।
সারাংশ
d কমান্ডের মাধ্যমে Sed দিয়ে আপনি খুব সহজেই টেক্সট ফাইল থেকে নির্দিষ্ট লাইন বা লাইন রেঞ্জ মুছে ফেলতে পারেন। আপনি যদি ফাইলের মধ্যে কিছু অপ্রয়োজনীয় অংশ মুছে ফেলতে চান বা কোন প্যাটার্নের ভিত্তিতে লাইন মুছে ফেলতে চান, তাহলে Sed এর d কমান্ড একটি কার্যকর উপায়।
Sed এর n (next) কমান্ড ব্যবহার করে আপনি পরবর্তী লাইনে যেতে পারেন বা পরবর্তী লাইনটি পড়তে পারেন। এটি মূলত প্রোগ্রামের প্রবাহ নিয়ন্ত্রণ করতে ব্যবহৃত হয়, এবং Sed এর প্যাটার্ন ম্যাচিং কমান্ডের পরে পরবর্তী লাইনটি স্কিপ (উপেক্ষা) না করে পড়তে সাহায্য করে।
n (next) কমান্ডের কাজ
Sed এর n কমান্ডের সাহায্যে আপনি যখন কোনো প্যাটার্ন ম্যাচ করেন, তখন Sed ঐ লাইনের পরিবর্তন করে না, বরং পরবর্তী লাইনে চলে যায়। এটি সাধারণত ব্যবহৃত হয় যখন আপনি নির্দিষ্ট প্যাটার্নগুলির জন্য বিশেষ কোনো অ্যাকশন চান এবং পরবর্তী লাইনে চলে যাওয়ার জন্য এই কমান্ডটি ব্যবহার করেন।
নোট:
nকমান্ড Sed এর প্রোগ্রাম ফ্লোকে পরবর্তী লাইনে চলে যেতে সাহায্য করে, কিন্তু এটি পরিবর্তন করবে না। এটি মূলত আউটপুট দেখানোর জন্য এবং পরবর্তী লাইনে যাওয়ার জন্য ব্যবহৃত হয়।
n কমান্ডের সিনট্যাক্স
sed 'p; n' file.txtএখানে:
p- এটি প্যাটার্ন ম্যাচিং লাইনটি প্রদর্শন করবে।n- পরবর্তী লাইনে চলে যাবে এবং পরবর্তী লাইনটি পড়বে।
উদাহরণ
ধরা যাক, আপনার একটি file.txt ফাইল আছে যার মধ্যে কিছু টেক্সট আছে, এবং আপনি কিছু নির্দিষ্ট প্যাটার্ন অনুসরণ করে লাইনের পরিবর্তন করতে চান এবং পরবর্তী লাইনে যেতে চান।
ফাইলের কনটেন্ট (file.txt):
apple
banana
cherry
orange
grapeকমান্ড উদাহরণ:
sed 'n; s/apple/fruit/' file.txtএই কমান্ডটি কী করবে:
- প্রথম লাইনে (যেখানে
appleআছে)nকমান্ডটি চালাবে, এটি Sed কে পরবর্তী লাইনে (banana) চলে যেতে নির্দেশ দেয়। - এরপর
s/apple/fruit/কমান্ডটি কোনো পরিবর্তন করবে না কারণ Sed পরবর্তী লাইনে চলে গেছে।
আউটপুট:
banana
fruit
cherry
orange
grapeএখানে, "apple" শব্দটি পরিবর্তন হয়নি কারণ Sed n কমান্ডের কারণে পরবর্তী লাইনে চলে গেছে। তারপর পরবর্তী লাইনটি (banana) পড়ে এবং s/apple/fruit/ কমান্ডটি রান করা হয়।
নির্দিষ্ট প্যাটার্নের জন্য পরবর্তী লাইন পড়া
যদি আপনি একটি নির্দিষ্ট প্যাটার্নের জন্য পরবর্তী লাইনটি পড়তে চান, তাহলে আপনি n কমান্ডের সঙ্গে p কমান্ডও ব্যবহার করতে পারেন।
কমান্ড উদাহরণ:
sed '/banana/{n; p;}' file.txtএটি কী করবে:
- যখন "banana" শব্দটি মিলে যাবে, তখন
nকমান্ডটি পরবর্তী লাইনে চলে যাবে। - পরবর্তী লাইনের কন্টেন্ট প্রদর্শন করবে
pকমান্ডের মাধ্যমে।
আউটপুট:
apple
banana
cherry
orange
grapeএই উদাহরণে, যখন Sed "banana" প্যাটার্নটি খুঁজে পাবে, তখন এটি পরবর্তী লাইনে চলে যাবে এবং সেই লাইনটি প্রদর্শন করবে।
সারাংশ
Sed এর n কমান্ড ব্যবহৃত হয় পরবর্তী লাইনে যাওয়ার জন্য, যেখানে এটি কোনো পরিবর্তন না করে পরবর্তী লাইনে চলে যায়। এটি বিশেষভাবে প্রয়োজনীয় যখন আপনাকে একটি নির্দিষ্ট প্যাটার্নের সাথে সম্পর্কিত পরবর্তী লাইনটি পড়তে হয়, কিন্তু সেই লাইনটির সাথে কোনো পরিবর্তন করতে হয় না।
Read more