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