Sed (Stream Editor) হলো একটি কমান্ড-লাইন ভিত্তিক স্ট্রিম এডিটর, যা মূলত টেক্সট ফাইলের কন্টেন্টকে প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। এটি সাধারণত Unix, Linux, এবং অন্যান্য ইউনিক্স-ভিত্তিক সিস্টেমে পাওয়া যায়। Sed-এর সাহায্যে আপনি টেক্সট ফাইল বা স্ট্রিমের মধ্যে টেক্সট ম্যানিপুলেশন, যেমন অনুসন্ধান (search), প্রতিস্থাপন (replace), সংযোজন (insert), মুছে ফেলা (delete) ইত্যাদি কাজ করতে পারেন।
sed (Stream Editor) এর বিস্তারিত গাইডsed হল Unix/Linux-এর একটি শক্তিশালী স্ট্রিম এডিটর যা টেক্সট ফাইল বা স্ট্রিমে স্বয়ংক্রিয় টেক্সট প্রসেসিংয়ের জন্য ব্যবহৃত হয়। এটি মূলত ফাইলে সার্চ, রিপ্লেস, ডিলিট এবং ইনসার্ট করতে ব্যবহৃত হয়। sed কমান্ড লাইনে ব্যবহার করা সহজ এবং এটি পাইপের মাধ্যমে অন্যান্য কমান্ডের সাথে ব্যবহার করা যায়।
sed কীভাবে কাজ করে?sed প্রতিটি ইনপুট লাইনকে একটি সময়ে প্রক্রিয়াজাত করে এবং নির্দিষ্ট প্যাটার্নের উপর ভিত্তি করে পরিবর্তন করে আউটপুট প্রদান করে। এটি ইনপুট স্ট্রিম থেকে লাইনের কিছু অংশ পরিবর্তন, মুছে ফেলা বা নতুন কিছু যোগ করতে পারে।
sed এর মৌলিক সিনট্যাক্সsed [options] 'command' file
sed কমান্ড, যা টেক্সট প্রসেসিং কাজটি নির্দেশ করে (যেমন, পরিবর্তন, মোছা)।sed কাজ করবে।sed এর সাধারণ ব্যবহারের প্যাটার্নsed কমান্ডের অন্যতম গুরুত্বপূর্ণ এবং বহুল ব্যবহৃত ফাংশন হল সার্চ এবং রিপ্লেস।
sed 's/pattern/replacement/' file
ফাইলে "hello" শব্দটি "hi" দিয়ে প্রতিস্থাপন করুন:
sed 's/hello/hi/' file.txt
এটি শুধু প্রথম মেলে যাওয়া টেক্সটটি প্রতিস্থাপন করবে। সবগুলো প্রতিস্থাপন করতে /g ফ্ল্যাগ ব্যবহার করা হয়।
sed 's/hello/hi/g' file.txt
-i ফ্ল্যাগ ব্যবহার করে ইনপ্লেস ফাইলে পরিবর্তন করা যায়। এটি ফাইলটিকে আপডেট করবে:
sed -i 's/old_text/new_text/g' file.txt
একটি নির্দিষ্ট লাইনের টেক্সট প্রতিস্থাপন করতে লাইন নম্বর উল্লেখ করতে হবে:
sed '3s/old_text/new_text/' file.txt
উপরের কমান্ডটি ফাইলের ৩ নম্বর লাইনে old_text-কে new_text দিয়ে প্রতিস্থাপন করবে।
d কমান্ড ব্যবহার করে নির্দিষ্ট লাইন বা টেক্সট ডিলিট করা যায়।
ফাইলের ২ নম্বর লাইন মুছে ফেলার জন্য:
sed '2d' file.txt
একটি রেঞ্জের মধ্যে থাকা লাইন মুছে ফেলা:
sed '3,5d' file.txt
উপরের কমান্ডটি ফাইলের ৩ থেকে ৫ নম্বর পর্যন্ত লাইন মুছে ফেলবে।
i কমান্ড ব্যবহার করে নির্দিষ্ট লাইনের আগে টেক্সট ইনসার্ট করা যায়, এবং a ব্যবহার করে পরের লাইনে কিছু যোগ করা যায়।
sed '3i\This is an inserted line' file.txt
এটি ৩ নম্বর লাইনের আগে একটি নতুন লাইন যোগ করবে।
sed '4a\This is appended text' file.txt
এটি ৪ নম্বর লাইনের পরে নতুন টেক্সট যোগ করবে।
sed ব্যবহার করে শুধুমাত্র নির্দিষ্ট প্যাটার্ন মেলা লাইনের টেক্সট দেখানো যায়:
sed -n '/pattern/p' file.txt
sed 's/^/Start: /' file.txt # লাইন শুরুর আগে "Start: " যোগ করবে
sed 's/$/ :End/' file.txt # লাইন শেষে " :End" যোগ করবে
-e ফ্ল্যাগ ব্যবহার করে একাধিক sed কমান্ড একত্রে ব্যবহার করা যায়।
sed -e 's/old1/new1/' -e 's/old2/new2/' file.txt
এটি একাধিক প্যাটার্নকে একসাথে প্রতিস্থাপন করবে।
একটি নির্দিষ্ট রেঞ্জের লাইনে কাজ করার জন্য লাইন নম্বর দিয়ে কমা (,) ব্যবহার করা যায়:
sed '2,5s/hello/hi/g' file.txt
এটি ২ থেকে ৫ নম্বর লাইনের মধ্যে hello-কে hi দিয়ে প্রতিস্থাপন করবে।
নির্দিষ্ট লাইন বাদ দিয়ে বাকি অংশে কাজ করতে ! চিহ্ন ব্যবহার করা হয়:
sed '2!s/hello/hi/g' file.txt
এটি ২ নম্বর লাইন বাদে বাকি সমস্ত লাইনে hello-কে hi দিয়ে প্রতিস্থাপন করবে।
sed এর সাধারণ বিকল্পসমূহsed কমান্ড একসাথে ব্যবহারের জন্য।sed এর উদাহরণসমূহsed 's/linux/unix/g' file.txt
এটি ফাইলের প্রতিটি লাইনে linux শব্দটিকে unix দিয়ে প্রতিস্থাপন করবে।
sed '5d' file.txt
এটি ফাইলের ৫ নম্বর লাইন মুছে ফেলবে।
sed 's/unwanted_text//g' file.txt
এটি ফাইল থেকে unwanted_text মুছে ফেলবে।
sed '3a\This is new text' file.txt
এটি ৩ নম্বর লাইনের পরে নতুন টেক্সট যোগ করবে।
sed -n '/pattern/p' file.txt
এটি শুধুমাত্র pattern মেলা লাইনের আউটপুট দেখাবে।
sed হল একটি অত্যন্ত শক্তিশালী এবং বহুমুখী টেক্সট প্রসেসিং টুল যা Unix/Linux সিস্টেমে স্ক্রিপ্টিং এবং অটোমেশন কাজের জন্য খুবই উপযোগী। এটি বড় আকারের টেক্সট ফাইল এডিটিং থেকে শুরু করে পাইপলাইনের মাধ্যমে অন্যান্য প্রোগ্রামের আউটপুট প্রসেসিং করার জন্য গুরুত্বপূর্ণ। যদি আপনাকে বড় ফাইল নিয়ে কাজ করতে হয় বা বড় আকারের টেক্সট প্রসেসিং করতে হয়, তাহলে sed এর দক্ষ ব্যবহার আপনাকে সহজে এবং দ্রুত কাজ সম্পন্ন করতে সাহায্য করবে।
Sed (Stream Editor) হলো একটি কমান্ড-লাইন ভিত্তিক স্ট্রিম এডিটর, যা মূলত টেক্সট ফাইলের কন্টেন্টকে প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। এটি সাধারণত Unix, Linux, এবং অন্যান্য ইউনিক্স-ভিত্তিক সিস্টেমে পাওয়া যায়। Sed-এর সাহায্যে আপনি টেক্সট ফাইল বা স্ট্রিমের মধ্যে টেক্সট ম্যানিপুলেশন, যেমন অনুসন্ধান (search), প্রতিস্থাপন (replace), সংযোজন (insert), মুছে ফেলা (delete) ইত্যাদি কাজ করতে পারেন।
sed (Stream Editor) এর বিস্তারিত গাইডsed হল Unix/Linux-এর একটি শক্তিশালী স্ট্রিম এডিটর যা টেক্সট ফাইল বা স্ট্রিমে স্বয়ংক্রিয় টেক্সট প্রসেসিংয়ের জন্য ব্যবহৃত হয়। এটি মূলত ফাইলে সার্চ, রিপ্লেস, ডিলিট এবং ইনসার্ট করতে ব্যবহৃত হয়। sed কমান্ড লাইনে ব্যবহার করা সহজ এবং এটি পাইপের মাধ্যমে অন্যান্য কমান্ডের সাথে ব্যবহার করা যায়।
sed কীভাবে কাজ করে?sed প্রতিটি ইনপুট লাইনকে একটি সময়ে প্রক্রিয়াজাত করে এবং নির্দিষ্ট প্যাটার্নের উপর ভিত্তি করে পরিবর্তন করে আউটপুট প্রদান করে। এটি ইনপুট স্ট্রিম থেকে লাইনের কিছু অংশ পরিবর্তন, মুছে ফেলা বা নতুন কিছু যোগ করতে পারে।
sed এর মৌলিক সিনট্যাক্সsed [options] 'command' file
sed কমান্ড, যা টেক্সট প্রসেসিং কাজটি নির্দেশ করে (যেমন, পরিবর্তন, মোছা)।sed কাজ করবে।sed এর সাধারণ ব্যবহারের প্যাটার্নsed কমান্ডের অন্যতম গুরুত্বপূর্ণ এবং বহুল ব্যবহৃত ফাংশন হল সার্চ এবং রিপ্লেস।
sed 's/pattern/replacement/' file
ফাইলে "hello" শব্দটি "hi" দিয়ে প্রতিস্থাপন করুন:
sed 's/hello/hi/' file.txt
এটি শুধু প্রথম মেলে যাওয়া টেক্সটটি প্রতিস্থাপন করবে। সবগুলো প্রতিস্থাপন করতে /g ফ্ল্যাগ ব্যবহার করা হয়।
sed 's/hello/hi/g' file.txt
-i ফ্ল্যাগ ব্যবহার করে ইনপ্লেস ফাইলে পরিবর্তন করা যায়। এটি ফাইলটিকে আপডেট করবে:
sed -i 's/old_text/new_text/g' file.txt
একটি নির্দিষ্ট লাইনের টেক্সট প্রতিস্থাপন করতে লাইন নম্বর উল্লেখ করতে হবে:
sed '3s/old_text/new_text/' file.txt
উপরের কমান্ডটি ফাইলের ৩ নম্বর লাইনে old_text-কে new_text দিয়ে প্রতিস্থাপন করবে।
d কমান্ড ব্যবহার করে নির্দিষ্ট লাইন বা টেক্সট ডিলিট করা যায়।
ফাইলের ২ নম্বর লাইন মুছে ফেলার জন্য:
sed '2d' file.txt
একটি রেঞ্জের মধ্যে থাকা লাইন মুছে ফেলা:
sed '3,5d' file.txt
উপরের কমান্ডটি ফাইলের ৩ থেকে ৫ নম্বর পর্যন্ত লাইন মুছে ফেলবে।
i কমান্ড ব্যবহার করে নির্দিষ্ট লাইনের আগে টেক্সট ইনসার্ট করা যায়, এবং a ব্যবহার করে পরের লাইনে কিছু যোগ করা যায়।
sed '3i\This is an inserted line' file.txt
এটি ৩ নম্বর লাইনের আগে একটি নতুন লাইন যোগ করবে।
sed '4a\This is appended text' file.txt
এটি ৪ নম্বর লাইনের পরে নতুন টেক্সট যোগ করবে।
sed ব্যবহার করে শুধুমাত্র নির্দিষ্ট প্যাটার্ন মেলা লাইনের টেক্সট দেখানো যায়:
sed -n '/pattern/p' file.txt
sed 's/^/Start: /' file.txt # লাইন শুরুর আগে "Start: " যোগ করবে
sed 's/$/ :End/' file.txt # লাইন শেষে " :End" যোগ করবে
-e ফ্ল্যাগ ব্যবহার করে একাধিক sed কমান্ড একত্রে ব্যবহার করা যায়।
sed -e 's/old1/new1/' -e 's/old2/new2/' file.txt
এটি একাধিক প্যাটার্নকে একসাথে প্রতিস্থাপন করবে।
একটি নির্দিষ্ট রেঞ্জের লাইনে কাজ করার জন্য লাইন নম্বর দিয়ে কমা (,) ব্যবহার করা যায়:
sed '2,5s/hello/hi/g' file.txt
এটি ২ থেকে ৫ নম্বর লাইনের মধ্যে hello-কে hi দিয়ে প্রতিস্থাপন করবে।
নির্দিষ্ট লাইন বাদ দিয়ে বাকি অংশে কাজ করতে ! চিহ্ন ব্যবহার করা হয়:
sed '2!s/hello/hi/g' file.txt
এটি ২ নম্বর লাইন বাদে বাকি সমস্ত লাইনে hello-কে hi দিয়ে প্রতিস্থাপন করবে।
sed এর সাধারণ বিকল্পসমূহsed কমান্ড একসাথে ব্যবহারের জন্য।sed এর উদাহরণসমূহsed 's/linux/unix/g' file.txt
এটি ফাইলের প্রতিটি লাইনে linux শব্দটিকে unix দিয়ে প্রতিস্থাপন করবে।
sed '5d' file.txt
এটি ফাইলের ৫ নম্বর লাইন মুছে ফেলবে।
sed 's/unwanted_text//g' file.txt
এটি ফাইল থেকে unwanted_text মুছে ফেলবে।
sed '3a\This is new text' file.txt
এটি ৩ নম্বর লাইনের পরে নতুন টেক্সট যোগ করবে।
sed -n '/pattern/p' file.txt
এটি শুধুমাত্র pattern মেলা লাইনের আউটপুট দেখাবে।
sed হল একটি অত্যন্ত শক্তিশালী এবং বহুমুখী টেক্সট প্রসেসিং টুল যা Unix/Linux সিস্টেমে স্ক্রিপ্টিং এবং অটোমেশন কাজের জন্য খুবই উপযোগী। এটি বড় আকারের টেক্সট ফাইল এডিটিং থেকে শুরু করে পাইপলাইনের মাধ্যমে অন্যান্য প্রোগ্রামের আউটপুট প্রসেসিং করার জন্য গুরুত্বপূর্ণ। যদি আপনাকে বড় ফাইল নিয়ে কাজ করতে হয় বা বড় আকারের টেক্সট প্রসেসিং করতে হয়, তাহলে sed এর দক্ষ ব্যবহার আপনাকে সহজে এবং দ্রুত কাজ সম্পন্ন করতে সাহায্য করবে।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?