Sed (Stream Editor) ব্যবহার করে c (change) কমান্ডটি একটি সম্পূর্ণ লাইন পরিবর্তন করার জন্য ব্যবহৃত হয়। এটি একটি নির্দিষ্ট লাইন বা প্যাটার্নের সাথে মিল পাওয়া লাইনগুলির সমস্ত টেক্সটকে নতুন টেক্সট দিয়ে প্রতিস্থাপন করে। এর মাধ্যমে আপনি কোনো লাইন সম্পূর্ণভাবে মুছে ফেলে নতুন লাইন বসাতে পারেন।
c কমান্ডের সিনট্যাক্স:
sed 'line_number c\new_text' file.txtএখানে:
line_number: লাইন নম্বরটি যেটি আপনি পরিবর্তন করতে চান।c\: এটি পরিবর্তনের নির্দেশ দেয়।cকমান্ডের পরে একটি নতুন লাইন দিয়ে আপনি যে টেক্সট রাখতে চান তা লিখবেন।new_text: এটি নতুন টেক্সট যা আপনি লাইনটিতে রাখতে চান।file.txt: যে ফাইলটির মধ্যে পরিবর্তন করতে চান।
c কমান্ডের উদাহরণ
1. একটি নির্দিষ্ট লাইন সম্পূর্ণভাবে পরিবর্তন করা
ধরা যাক, আপনি একটি ফাইলের দ্বিতীয় লাইনটি সম্পূর্ণভাবে পরিবর্তন করতে চান এবং নতুন টেক্সট হিসেবে "This is the new line" বসাতে চান। আপনি এই কমান্ডটি ব্যবহার করতে পারেন:
sed '2c\This is the new line' file.txtএটি:
2: দ্বিতীয় লাইনটিকে লক্ষ্য করবে।c\: দ্বিতীয় লাইনটির টেক্সট সম্পূর্ণভাবে পরিবর্তন করবে।This is the new line: নতুন লাইন হবে।
2. প্যাটার্নের সাথে মিল পাওয়া লাইন পরিবর্তন করা
যদি আপনি "dog" শব্দটি যেসব লাইন থেকে খুঁজে পেয়ে সেগুলোর পুরো টেক্সটকে পরিবর্তন করতে চান, তাহলে:
sed '/dog/c\This line has been changed' file.txtএটি:
/dog/: "dog" শব্দযুক্ত সমস্ত লাইন খুঁজে পাবে।c\This line has been changed: যেসব লাইন "dog" শব্দের সাথে মিলে যাবে, সেগুলোর পুরো টেক্সট "This line has been changed"-এ পরিবর্তিত হবে।
3. একাধিক লাইন পরিবর্তন করা
একাধিক লাইন পরিবর্তন করতে, আপনি একাধিক c\ কমান্ড ব্যবহার করতে পারেন:
sed '2c\This is the new second line' -e '3c\This is the new third line' file.txtএটি:
2c\This is the new second line: দ্বিতীয় লাইনটিকে "This is the new second line" দিয়ে প্রতিস্থাপন করবে।3c\This is the new third line: তৃতীয় লাইনটিকে "This is the new third line" দিয়ে প্রতিস্থাপন করবে।
4. c কমান্ডের সাথে একাধিক লাইন যুক্ত করা
যদি আপনি একাধিক লাইন পরিবর্তন করতে চান, তাহলে Sed এর c কমান্ডের পরে নতুন লাইন এড করতে পারেন:
sed '2c\
This is the first line of the change\
This is the second line of the change' file.txtএটি:
2c\: দ্বিতীয় লাইনটিকে পরিবর্তন করবে।- নতুন দুটি লাইন যোগ করবে: "This is the first line of the change" এবং "This is the second line of the change"।
c কমান্ডের কিছু গুরুত্বপূর্ণ نکতা
cকমান্ডটি সম্পূর্ণ লাইনকে নতুন টেক্সট দিয়ে প্রতিস্থাপন করে, অর্থাৎ আপনি পুরনো লাইনটির অংশ পরিবর্তন করতে পারবেন না, আপনি পুরো লাইনটিই নতুনভাবে লিখবেন।c\কমান্ডের পরে আপনাকে নতুন লাইন (newline) ব্যবহার করে টেক্সটটি ঠিকমতো লিখতে হবে, বিশেষ করে যদি এটি একটি multiline টেক্সট হয়।
Conclusion
cকমান্ড Sed-এ একটি শক্তিশালী পদ্ধতি যা টেক্সট ফাইলের মধ্যে নির্দিষ্ট লাইন বা প্যাটার্নের সাথে মিল পাওয়া লাইনকে সম্পূর্ণভাবে নতুন টেক্সট দিয়ে প্রতিস্থাপন করতে ব্যবহৃত হয়।- এটি বিশেষভাবে কার্যকর যখন আপনি ফাইলের একটি নির্দিষ্ট লাইন সম্পূর্ণভাবে পরিবর্তন করতে চান, বা একাধিক লাইন যুক্ত করতে চান।
Read more