Case-Insensitive Substitution এবং Replacement Flags

Text Substitution (টেক্সট প্রতিস্থাপন) - সেড (Sed) - Computer Programming

262

Sed (Stream Editor) এর case-insensitive substitution এবং replacement flags খুবই শক্তিশালী টুল হিসেবে ব্যবহৃত হয়। এগুলো আপনাকে টেক্সট ফাইলে প্যাটার্ন খুঁজে এবং প্রতিস্থাপন করতে সাহায্য করে, এবং case-insensitive প্রতিস্থাপন করলে আপনি বড় এবং ছোট হাতের অক্ষর নিয়ে চিন্তা না করেই কাজ করতে পারেন।


Case-Insensitive Substitution

Sed তে case-insensitive substitution করার জন্য I ফ্ল্যাগ ব্যবহার করা হয়। এর মাধ্যমে আপনি প্যাটার্নে বড় হাতের অক্ষর এবং ছোট হাতের অক্ষর আলাদা না করে একটি নির্দিষ্ট শব্দ বা প্যাটার্ন খুঁজে এবং প্রতিস্থাপন করতে পারবেন।

Case-Insensitive Substitution এর সিনট্যাক্স:

sed 's/old_text/new_text/I' file.txt

এখানে:

  • s: সার্চ এবং রিপ্লেস অপারেশন নির্দেশ করে।
  • old_text: আপনি যে প্যাটার্নটি খুঁজতে চান।
  • new_text: পুরানো টেক্সটের পরিবর্তে নতুন টেক্সট যা প্রতিস্থাপন হবে।
  • I: case-insensitive অপশন, যা বড় বা ছোট হাতের অক্ষর নিয়ে কোনো পার্থক্য করবে না।

উদাহরণ:

ধরা যাক, file.txt ফাইলে "apple" শব্দটি রয়েছে এবং আপনি এটিকে "fruit" দিয়ে প্রতিস্থাপন করতে চান, কিন্তু আপনি চাইছেন যে এটি "apple", "Apple", "APPLE", বা অন্যান্য কোনো ভিন্ন কেসেও পরিবর্তিত হোক।

ফাইলের কনটেন্ট (file.txt):

apple
Apple
APPLE
banana

কমান্ড:

sed 's/apple/fruit/I' file.txt

আউটপুট:

fruit
fruit
fruit
banana

এখানে, I ফ্ল্যাগের কারণে "apple", "Apple", এবং "APPLE" সব ক্ষেত্রেই "fruit" দিয়ে প্রতিস্থাপন করা হয়েছে, যদিও তাদের কেস (বড় বা ছোট হাতের অক্ষর) আলাদা ছিল।


Replacement Flags in Sed

Sed তে replacement flags বা রিপ্লেসমেন্টের জন্য কিছু বিশেষ ফ্ল্যাগ ব্যবহার করা যায়, যা প্রতিস্থাপন বা টেক্সট পরিবর্তনের সময় অতিরিক্ত কার্যকারিতা যোগ করে।

  1. g (global replacement):

    • g ফ্ল্যাগ ব্যবহার করলে একটি লাইনে যতবার প্যাটার্ন মেলে, ততবার প্রতিস্থাপন করা হয়। যদি g না ব্যবহার করা হয়, তাহলে শুধুমাত্র প্রথম ম্যাচটি প্রতিস্থাপন করা হয়।

    উদাহরণ:

    sed 's/apple/fruit/g' file.txt

    যদি file.txt ফাইলে একাধিক "apple" শব্দ থাকে, তবে সব occurrences পরিবর্তিত হবে।

  2. p (print matching lines):

    • p ফ্ল্যাগ ব্যবহার করলে শুধু পরিবর্তিত লাইনগুলো প্রদর্শন করা হয়, মূল ফাইলটি পরিবর্তন করা হয় না। এটি সাধারণত -n অপশনের সঙ্গে ব্যবহৃত হয়।

    উদাহরণ:

    sed -n 's/apple/fruit/p' file.txt

    এখানে, -n অপশনটি আউটপুট প্রিন্টিং বন্ধ রাখে, এবং p ফ্ল্যাগের মাধ্যমে কেবলমাত্র যেগুলো পরিবর্তিত হয়েছে সেগুলো প্রদর্শিত হবে।

  3. w (write to file):

    • w ফ্ল্যাগ দিয়ে আপনি Sed দ্বারা করা প্রতিস্থাপন বা পরিবর্তনকে একটি নতুন ফাইলে লেখতে পারেন। এই ফ্ল্যাগের মাধ্যমে আপনি কোনও ফাইলের মধ্যে টেক্সট পরিবর্তন করতে পারেন এবং তা অন্য একটি ফাইলে সেভ করতে পারেন।

    উদাহরণ:

    sed 's/apple/fruit/gw newfile.txt' file.txt

    এটি file.txt ফাইলের "apple" শব্দগুলোকে "fruit"-এ পরিবর্তন করবে এবং পরিবর্তিত ফাইলের কন্টেন্ট newfile.txt ফাইলে সেভ করবে।

  4. & (the matched string):

    • & ফ্ল্যাগ ব্যবহার করে আপনি মেলা প্যাটার্নটি রিপ্লেসমেন্টে রেফারেন্স হিসেবে ব্যবহার করতে পারেন। এটি "matched string" অর্থাৎ যে অংশটি প্যাটার্নের সাথে মিলেছে, সেটিকে রিপ্লেসমেন্ট অংশে অন্তর্ভুক্ত করতে ব্যবহৃত হয়।

    উদাহরণ:

    sed 's/apple/& pie/g' file.txt

    এই কমান্ডটি file.txt ফাইলে "apple" শব্দটির সাথে " pie" যোগ করে, অর্থাৎ "apple" হয়ে যাবে "apple pie"।


সারাংশ

  • Case-Insensitive Substitution: Sed এর I ফ্ল্যাগ ব্যবহার করে আপনি টেক্সট ফাইলে বড় এবং ছোট হাতের অক্ষর নিয়ে চিন্তা না করে প্যাটার্ন খুঁজে প্রতিস্থাপন করতে পারেন।
  • Replacement Flags: Sed তে বিভিন্ন রিপ্লেসমেন্ট ফ্ল্যাগ যেমন g, p, w, এবং & ব্যবহার করে আপনি আরও জটিল প্রতিস্থাপন এবং পরিবর্তন করতে পারেন, যেমন গ্লোবাল প্রতিস্থাপন, প্রিন্টিং বা ফাইলে লেখা ইত্যাদি।
Content added By
Promotion

Are you sure to start over?

Loading...