Skill

সেড (Sed)

849

Sed (Stream Editor) হলো একটি কমান্ড-লাইন ভিত্তিক স্ট্রিম এডিটর, যা মূলত টেক্সট ফাইলের কন্টেন্টকে প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। এটি সাধারণত Unix, Linux, এবং অন্যান্য ইউনিক্স-ভিত্তিক সিস্টেমে পাওয়া যায়। Sed-এর সাহায্যে আপনি টেক্সট ফাইল বা স্ট্রিমের মধ্যে টেক্সট ম্যানিপুলেশন, যেমন অনুসন্ধান (search), প্রতিস্থাপন (replace), সংযোজন (insert), মুছে ফেলা (delete) ইত্যাদি কাজ করতে পারেন।


sed (Stream Editor) এর বিস্তারিত গাইড

sed হল Unix/Linux-এর একটি শক্তিশালী স্ট্রিম এডিটর যা টেক্সট ফাইল বা স্ট্রিমে স্বয়ংক্রিয় টেক্সট প্রসেসিংয়ের জন্য ব্যবহৃত হয়। এটি মূলত ফাইলে সার্চ, রিপ্লেস, ডিলিট এবং ইনসার্ট করতে ব্যবহৃত হয়। sed কমান্ড লাইনে ব্যবহার করা সহজ এবং এটি পাইপের মাধ্যমে অন্যান্য কমান্ডের সাথে ব্যবহার করা যায়।

sed কীভাবে কাজ করে?

sed প্রতিটি ইনপুট লাইনকে একটি সময়ে প্রক্রিয়াজাত করে এবং নির্দিষ্ট প্যাটার্নের উপর ভিত্তি করে পরিবর্তন করে আউটপুট প্রদান করে। এটি ইনপুট স্ট্রিম থেকে লাইনের কিছু অংশ পরিবর্তন, মুছে ফেলা বা নতুন কিছু যোগ করতে পারে।

sed এর মৌলিক সিনট্যাক্স

sed [options] 'command' file
  • options: বিকল্পগুলি নির্ধারণ করা হয়, যেমন ইনপ্লেস (ফাইলের ভিতরে সরাসরি পরিবর্তন)।
  • command: এটি sed কমান্ড, যা টেক্সট প্রসেসিং কাজটি নির্দেশ করে (যেমন, পরিবর্তন, মোছা)।
  • file: ফাইলের নাম যেটিতে sed কাজ করবে।

sed এর সাধারণ ব্যবহারের প্যাটার্ন

১. সার্চ এবং রিপ্লেস

sed কমান্ডের অন্যতম গুরুত্বপূর্ণ এবং বহুল ব্যবহৃত ফাংশন হল সার্চ এবং রিপ্লেস।

sed 's/pattern/replacement/' file
  • s: সাবস্টিটিউট (প্রতিস্থাপন) নির্দেশ করে।
  • pattern: যে টেক্সট খোঁজা হবে।
  • replacement: যে টেক্সট দিয়ে প্রতিস্থাপন করা হবে।

উদাহরণ:

ফাইলে "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
  • -n: ইনপুট থেকে কোনো আউটপুট না দেখানোর জন্য।
  • p: শুধুমাত্র প্যাটার্ন মেলা লাইনগুলো দেখানোর জন্য।

৭. স্ট্রিং ম্যানিপুলেশন

স্ট্রিংয়ের শুরুতে বা শেষে কিছু টেক্সট যোগ করা:

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 দিয়ে প্রতিস্থাপন করবে।

১০. নির্দিষ্ট লাইন বাদে (Except) কাজ করা

নির্দিষ্ট লাইন বাদ দিয়ে বাকি অংশে কাজ করতে ! চিহ্ন ব্যবহার করা হয়:

sed '2!s/hello/hi/g' file.txt

এটি ২ নম্বর লাইন বাদে বাকি সমস্ত লাইনে hello-কে hi দিয়ে প্রতিস্থাপন করবে।

sed এর সাধারণ বিকল্পসমূহ

  • -i: ইনপ্লেস এডিটিং, অর্থাৎ ফাইলে সরাসরি পরিবর্তন।
  • -e: একাধিক sed কমান্ড একসাথে ব্যবহারের জন্য।
  • -n: ইনপুটের আউটপুট না দেখিয়ে শুধু প্রয়োজনীয় আউটপুট দেখায়।
  • -r: Extended regular expressions (ERE) সমর্থন করার জন্য।

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
  • options: বিকল্পগুলি নির্ধারণ করা হয়, যেমন ইনপ্লেস (ফাইলের ভিতরে সরাসরি পরিবর্তন)।
  • command: এটি sed কমান্ড, যা টেক্সট প্রসেসিং কাজটি নির্দেশ করে (যেমন, পরিবর্তন, মোছা)।
  • file: ফাইলের নাম যেটিতে sed কাজ করবে।

sed এর সাধারণ ব্যবহারের প্যাটার্ন

১. সার্চ এবং রিপ্লেস

sed কমান্ডের অন্যতম গুরুত্বপূর্ণ এবং বহুল ব্যবহৃত ফাংশন হল সার্চ এবং রিপ্লেস।

sed 's/pattern/replacement/' file
  • s: সাবস্টিটিউট (প্রতিস্থাপন) নির্দেশ করে।
  • pattern: যে টেক্সট খোঁজা হবে।
  • replacement: যে টেক্সট দিয়ে প্রতিস্থাপন করা হবে।

উদাহরণ:

ফাইলে "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
  • -n: ইনপুট থেকে কোনো আউটপুট না দেখানোর জন্য।
  • p: শুধুমাত্র প্যাটার্ন মেলা লাইনগুলো দেখানোর জন্য।

৭. স্ট্রিং ম্যানিপুলেশন

স্ট্রিংয়ের শুরুতে বা শেষে কিছু টেক্সট যোগ করা:

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 দিয়ে প্রতিস্থাপন করবে।

১০. নির্দিষ্ট লাইন বাদে (Except) কাজ করা

নির্দিষ্ট লাইন বাদ দিয়ে বাকি অংশে কাজ করতে ! চিহ্ন ব্যবহার করা হয়:

sed '2!s/hello/hi/g' file.txt

এটি ২ নম্বর লাইন বাদে বাকি সমস্ত লাইনে hello-কে hi দিয়ে প্রতিস্থাপন করবে।

sed এর সাধারণ বিকল্পসমূহ

  • -i: ইনপ্লেস এডিটিং, অর্থাৎ ফাইলে সরাসরি পরিবর্তন।
  • -e: একাধিক sed কমান্ড একসাথে ব্যবহারের জন্য।
  • -n: ইনপুটের আউটপুট না দেখিয়ে শুধু প্রয়োজনীয় আউটপুট দেখায়।
  • -r: Extended regular expressions (ERE) সমর্থন করার জন্য।

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 এর দক্ষ ব্যবহার আপনাকে সহজে এবং দ্রুত কাজ সম্পন্ন করতে সাহায্য করবে।

Promotion

Are you sure to start over?

Loading...