Filtering Techniques ব্যবহার করে Specific Content মুছে ফেলা

Line Deletion এবং Filtering (লাইন ডিলিশন এবং ফিল্টারিং) - সেড (Sed) - Computer Programming

353

Sed (Stream Editor) ব্যবহার করে filtering techniques এর মাধ্যমে আপনি specific content বা নির্দিষ্ট টেক্সট বা প্যাটার্ন মুছে ফেলতে পারেন। Sed আপনাকে বিভিন্ন ধরনের প্যাটার্ন খুঁজে এবং সেগুলোর সাথে মেলানো লাইন বা কন্টেন্ট মুছে ফেলার জন্য শক্তিশালী কমান্ড সরবরাহ করে।


Filtering Techniques এর মাধ্যমে Specific Content মুছে ফেলা

Sed-এ Filtering Techniques ব্যবহার করে কনটেন্ট মুছে ফেলতে d (delete) কমান্ড ব্যবহৃত হয়। আপনি -n অপশন ব্যবহার করলে Sed আউটপুটে শুধু সেই লাইনগুলো দেখাবে যেগুলো আপনি রাখতে চান এবং d কমান্ড দিয়ে অন্যান্য লাইন মুছে ফেলতে পারেন।

Sed Syntax for Deleting Content:

sed 'pattern d' file.txt

এখানে:

  • pattern: যেই প্যাটার্নের সাথে মিল পাওয়া লাইনগুলো মুছে ফেলতে চান।
  • d: এটি delete অপারেশন নির্দেশ করে, অর্থাৎ যেসব লাইন প্যাটার্নের সাথে মিলে যাবে, সেগুলো মুছে ফেলা হবে।
  • file.txt: যে ফাইলটি থেকে কন্টেন্ট মুছে ফেলবেন।

Common Filtering Techniques for Deleting Specific Content

  1. নির্দিষ্ট প্যাটার্নের সাথে মিল পাওয়া লাইন মুছে ফেলা
    আপনি যদি একটি নির্দিষ্ট শব্দ বা প্যাটার্নের সাথে মিল পাওয়া লাইনগুলো মুছে ফেলতে চান, তবে এই কমান্ডটি ব্যবহার করতে পারেন:

    sed '/pattern/d' file.txt

    উদাহরণ: যদি আপনি "cat" শব্দযুক্ত লাইনগুলো মুছে ফেলতে চান:

    sed '/cat/d' file.txt

    এটি file.txt ফাইল থেকে "cat" শব্দযুক্ত সমস্ত লাইন মুছে ফেলবে।

  2. নির্দিষ্ট লাইন মুছে ফেলা
    আপনি যদি একটি নির্দিষ্ট লাইনের সংখ্যা মুছে ফেলতে চান, তাহলে লাইন নম্বর উল্লেখ করতে পারেন। উদাহরণস্বরূপ, দ্বিতীয় লাইনটি মুছে ফেলতে:

    sed '2d' file.txt

    এই কমান্ডটি file.txt এর দ্বিতীয় লাইনটি মুছে ফেলবে।

  3. নির্দিষ্ট রেঞ্জের মধ্যে লাইন মুছে ফেলা
    যদি আপনি কয়েকটি নির্দিষ্ট লাইন মুছে ফেলতে চান, যেমন দ্বিতীয় থেকে চতুর্থ লাইন পর্যন্ত, তাহলে আপনি এইভাবে করতে পারেন:

    sed '2,4d' file.txt

    এটি file.txt ফাইল থেকে দ্বিতীয়, তৃতীয়, এবং চতুর্থ লাইন মুছে ফেলবে।

  4. লাইনের মধ্যে একটি প্যাটার্ন থাকলেই পুরো লাইন মুছে ফেলা
    যদি আপনি এমন লাইন মুছে ফেলতে চান যেগুলোর মধ্যে নির্দিষ্ট কোনো প্যাটার্ন বা শব্দ রয়েছে, তবে সেই প্যাটার্নটি /pattern/ দিয়ে উল্লেখ করতে পারেন। উদাহরণস্বরূপ, যদি আপনি এমন সমস্ত লাইন মুছে ফেলতে চান যেগুলোতে "error" শব্দটি রয়েছে:

    sed '/error/d' file.txt

    এটি file.txt থেকে সব "error" শব্দযুক্ত লাইনগুলো মুছে ফেলবে।

  5. ব্ল্যাংক (খালি) লাইন মুছে ফেলা
    আপনি যদি ফাইল থেকে সমস্ত খালি লাইন (blank lines) মুছে ফেলতে চান, তাহলে এটি করতে পারেন:

    sed '/^$/d' file.txt

    এখানে:

    • ^$ প্যাটার্নটি খালি লাইন খুঁজে।
    • d কমান্ডের মাধ্যমে সেগুলি মুছে ফেলা হয়।
  6. লাইনে "প্রথম" কিছু শব্দ থাকার পর বাকী অংশ মুছে ফেলা
    যদি আপনি কোনো লাইন থেকে একটি নির্দিষ্ট শব্দের পরে সমস্ত বাকী অংশ মুছে ফেলতে চান, তাহলে s/pattern// কমান্ড ব্যবহার করতে পারেন। উদাহরণস্বরূপ, "cat" শব্দটির পরে বাকী অংশ মুছে ফেলতে:

    sed 's/cat.*//g' file.txt

    এটি "cat" এর পরে যেকোনো শব্দ বা টেক্সট মুছে ফেলবে।

  7. ইন-প্লেস পরিবর্তন
    যদি আপনি ফাইলের মধ্যে সরাসরি পরিবর্তন করতে চান এবং নতুন ফাইল তৈরি না করতে চান, তাহলে -i অপশন ব্যবহার করুন:

    sed -i '/pattern/d' file.txt

    এটি file.txt ফাইলে সরাসরি প্যাটার্ন মিলে এমন লাইনগুলো মুছে ফেলবে এবং পরিবর্তনগুলো সেভ করবে।


Multiple Patterns এর Filtering

আপনি একাধিক প্যাটার্নের জন্যও filtering করতে পারেন। যেমন, আপনি যদি "cat" এবং "dog" শব্দের সাথে মিল পাওয়া লাইনগুলো মুছে ফেলতে চান, তাহলে:

sed '/cat/d; /dog/d' file.txt

এটি file.txt থেকে "cat" এবং "dog" শব্দযুক্ত লাইনগুলো মুছে ফেলবে।


Conclusion

Sed এর মাধ্যমে আপনি খুব সহজে filtering techniques ব্যবহার করে specific content বা নির্দিষ্ট টেক্সট মুছে ফেলতে পারেন। আপনি প্যাটার্ন, লাইন নম্বর, বা রেঞ্জের ভিত্তিতে টেক্সট মুছে ফেলার জন্য বিভিন্ন কমান্ড ব্যবহার করতে পারেন। Sed টুলটি অত্যন্ত কার্যকরী যখন আপনাকে কোনো টেক্সট ফাইলের মধ্যে অপ্রয়োজনীয় কন্টেন্ট দ্রুত মুছে ফেলতে হয়।

Content added By
Promotion

Are you sure to start over?

Loading...