Sed (Stream Editor) ব্যবহার করে আপনি chained commands এবং scripts তৈরি করতে পারেন যা টেক্সট ফাইল বা স্ট্রিমের মধ্যে complex editing করতে সহায়তা করে। চেইনড কমান্ডগুলি Sed-এ একাধিক কমান্ড একসাথে চালানোর একটি পদ্ধতি, যেখানে একাধিক টেক্সট পরিবর্তন বা সংশোধন একে অপরের সাথে সংযুক্ত থাকে।
এছাড়া, Sed scripts আপনাকে একাধিক Sed কমান্ড একসাথে একটি স্ক্রিপ্টের মধ্যে সংরক্ষণ করার সুযোগ দেয়, যা পরে পুনরায় ব্যবহার করা যায় এবং পুনরায় ব্যবহারযোগ্য কমান্ডগুলিকে তৈরি করতে সহায়ক হয়।
1. Chained Commands ব্যবহার করে Complex Editing
Sed-এ চেইনড কমান্ডগুলির মাধ্যমে একাধিক কমান্ড একসাথে চালানো সম্ভব। আপনি -e অপশন ব্যবহার করে একাধিক Sed কমান্ড সংযুক্ত করতে পারেন, যা একই ফাইলে একাধিক টেক্সট পরিবর্তন করে। এই ধরনের কমান্ড সাধারণত যখন একাধিক টেক্সট পরিবর্তন করতে হয় তখন ব্যবহৃত হয়।
সিনট্যাক্স:
sed -e 'command1' -e 'command2' file.txtএখানে:
command1এবংcommand2হলো Sed কমান্ড।file.txtহলো সেই ফাইল যা আপনি পরিবর্তন করতে চান।
উদাহরণ:
ধরা যাক, আপনি একটি ফাইলে প্রথমে সব "cat" শব্দকে "dog"-এ প্রতিস্থাপন করতে চান, তারপর সমস্ত "fish" শব্দকে "shark"-এ পরিবর্তন করতে চান। আপনি এটি একটি চেইনড কমান্ডের মাধ্যমে করতে পারেন:
sed -e 's/cat/dog/g' -e 's/fish/shark/g' file.txtএটি প্রথমে file.txt ফাইলে সব "cat" শব্দকে "dog"-এ প্রতিস্থাপন করবে এবং পরবর্তীতে সব "fish" শব্দকে "shark"-এ প্রতিস্থাপন করবে।
আরেকটি উদাহরণ:
আপনি যদি প্রথমে কোনো লাইন মুছে ফেলার পর অন্য একটি লাইন যোগ করতে চান:
sed -e '2d' -e '3a New line added here' file.txtএটি:
2d: দ্বিতীয় লাইনটি মুছে ফেলবে।3a: তৃতীয় লাইনের পর একটি নতুন লাইন যোগ করবে।
2. Sed Scripts এর মাধ্যমে Reusable Commands তৈরি করা
Sed স্ক্রিপ্ট হলো একটি ফাইল যেখানে একাধিক Sed কমান্ড সংরক্ষিত থাকে। এটি reusable commands তৈরির একটি দারুণ উপায়, কারণ আপনি একাধিক টেক্সট পরিবর্তন বা প্রক্রিয়া এক জায়গায় সংরক্ষণ করে সেগুলো পুনরায় ব্যবহার করতে পারেন।
Sed Script তৈরি করা:
- একটি ফাইল তৈরি করুন যেখানে আপনার সমস্ত Sed কমান্ড থাকবে। উদাহরণস্বরূপ, "myscript.sed" নামক একটি স্ক্রিপ্ট ফাইল তৈরি করুন।
echo "s/cat/dog/g" > myscript.sed
echo "s/fish/shark/g" >> myscript.sedএটি দুটি Sed কমান্ড তৈরি করবে:
- প্রথমটি "cat" শব্দকে "dog"-এ প্রতিস্থাপন করবে।
- দ্বিতীয়টি "fish" শব্দকে "shark"-এ প্রতিস্থাপন করবে।
- Sed Script চালানো:
একবার Sed স্ক্রিপ্ট ফাইল তৈরি হলে, আপনি এটি কমান্ড লাইনে ব্যবহার করতে পারেন:
sed -f myscript.sed file.txtএখানে:
-fঅপশনটি Sed স্ক্রিপ্ট ফাইলের পথ নির্দেশ করে।file.txtহলো সেই ফাইল যেখানে কমান্ডগুলির কার্যকারিতা প্রয়োগ করা হবে।
Sed Script উদাহরণ:
ধরা যাক, আপনার একটি স্ক্রিপ্ট ফাইল "myscript.sed" আছে, যেখানে কিছু অতিরিক্ত কমান্ড রয়েছে যেমন:
- একটি নির্দিষ্ট শব্দ প্রতিস্থাপন।
- একটি লাইন মুছে ফেলা।
- একটি নতুন লাইন যোগ করা।
myscript.sed ফাইল:
s/cat/dog/g
s/fish/shark/g
2d
3a New line added hereএটি একটি ফাইলের মধ্যে:
- সব "cat" শব্দকে "dog"-এ,
- সব "fish" শব্দকে "shark"-এ,
- দ্বিতীয় লাইনটি মুছে ফেলে,
- তৃতীয় লাইনের পরে একটি নতুন লাইন যোগ করবে।
এখন, আপনি এটি এইভাবে চালাতে পারবেন:
sed -f myscript.sed file.txt3. Sed Scripts এ Variable ব্যবহার
Sed স্ক্রিপ্টের মধ্যে variables ব্যবহার করাও সম্ভব। এর মাধ্যমে আপনি স্ক্রিপ্টে ব্যবহারকারী নির্ধারিত মান ব্যবহার করতে পারেন। তবে, এটি shell scripting এর সাথে যুক্ত করতে হয়।
উদাহরণ:
ধরা যাক, আপনি একটি স্ক্রিপ্ট তৈরি করছেন যা একটি variable নিয়ে কাজ করবে। আপনি একটি shell script এর মধ্যে variable ব্যবহার করতে পারেন এবং সেই অনুযায়ী Sed কমান্ড চালাতে পারেন।
#!/bin/bash
word="cat"
sed "s/$word/dog/g" file.txtএখানে:
$wordপরিবর্তনশীলটি "cat" ধারণ করে, এবং এটিsedকমান্ডে ব্যবহার করা হয়।
4. Sed Scripts ব্যবহার করে Bulk Text Editing
একটি Sed স্ক্রিপ্ট ব্যবহার করে আপনি অনেক টেক্সট পরিবর্তন একসাথে করতে পারেন, বিশেষত যদি আপনার অনেক ফাইল বা বড় ডেটা থাকে। একটি স্ক্রিপ্টের মাধ্যমে আপনি অনেক টেক্সট পরিবর্তন সহজেই সম্পন্ন করতে পারেন।
উদাহরণ:
ধরা যাক, আপনি একটি স্ক্রিপ্ট তৈরি করেছেন যা একটি ফাইলে বিভিন্ন ধরনের পরিবর্তন করবে:
#!/bin/bash
sed -e 's/cat/dog/g' -e 's/fish/shark/g' -e '2d' -e '3a New line here' file.txtএটি:
- "cat" শব্দকে "dog"-এ,
- "fish" শব্দকে "shark"-এ,
- দ্বিতীয় লাইনটি মুছে ফেলবে,
- তৃতীয় লাইনের পর একটি নতুন লাইন যোগ করবে।
Conclusion
- Chained commands Sed ব্যবহার করে আপনি একাধিক কমান্ড একসাথে চালাতে পারেন, যা ফাইলের মধ্যে একাধিক পরিবর্তন করতে সহায়তা করে।
- Sed scripts আপনাকে একাধিক কমান্ড একত্রে একটি স্ক্রিপ্টে সংরক্ষণ করে পুনরায় ব্যবহারযোগ্য করে তোলে। এটি বিশেষভাবে বড় এবং জটিল ফাইল ম্যানিপুলেশনে সহায়ক।
- Reusable Sed commands তৈরি করা সহজ এবং দ্রুত প্রক্রিয়া সম্পাদন করতে সহায়ক, যেগুলো পুনরায় ব্যবহারের উপযোগী।
Read more