Simple Substitution এবং Global Substitution

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

293

Sed (Stream Editor) একটি শক্তিশালী টুল যা টেক্সট ফাইল বা স্ট্রিমের মধ্যে সহজ এবং জটিল পরিবর্তন করতে ব্যবহৃত হয়। এর মধ্যে Simple Substitution (সরল প্রতিস্থাপন) এবং Global Substitution (গ্লোবাল প্রতিস্থাপন) দুটি গুরুত্বপূর্ণ অপারেশন রয়েছে, যা টেক্সট পরিবর্তন করার ক্ষেত্রে ব্যাপকভাবে ব্যবহৃত হয়।


1. Simple Substitution (সরল প্রতিস্থাপন)

Simple Substitution হল একটি টেক্সট ফাইলে একটি নির্দিষ্ট শব্দ বা প্যাটার্ন খুঁজে তাকে অন্য একটি শব্দ বা প্যাটার্ন দিয়ে প্রতিস্থাপন করার পদ্ধতি। এটি সবচেয়ে সাধারণ এবং মৌলিক Sed কমান্ড হিসেবে কাজ করে।

সিনট্যাক্স:

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

এখানে:

  • s: এটি substitution অপারেশন নির্দেশ করে, অর্থাৎ প্যাটার্নের পরিবর্তন করা।
  • old_text: যে টেক্সটটি আপনি খুঁজতে চান এবং প্রতিস্থাপন করতে চান।
  • new_text: যেটি আপনি old_text এর জায়গায় বসাতে চান।
  • file.txt: যে ফাইলটি আপনি পরিবর্তন করতে চান।

উদাহরণ:

sed 's/cat/dog/' file.txt

এই কমান্ডটি file.txt ফাইলে প্রথম "cat" শব্দটি খুঁজে তা "dog" দিয়ে প্রতিস্থাপন করবে। এটি শুধুমাত্র প্রথম ম্যাচিং টেক্সট পরিবর্তন করবে, পরবর্তী কোনো মিল পাওয়া যাবে না।

2. Global Substitution (গ্লোবাল প্রতিস্থাপন)

Global Substitution হল একে একে সমস্ত occurrences পরিবর্তন করার পদ্ধতি। এর মাধ্যমে, আপনি একটি লাইন বা পুরো ফাইলে যতবার সেই নির্দিষ্ট প্যাটার্নটি থাকবে, তা সবগুলোকে প্রতিস্থাপন করতে পারবেন। এর জন্য g ফ্ল্যাগ ব্যবহার করা হয়, যা global (বিশ্বব্যাপী) প্রতিস্থাপন নির্দেশ করে।

সিনট্যাক্স:

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

এখানে:

  • g: এটি global নির্দেশক, যা বলে যে প্যাটার্নের সব occurrences পরিবর্তন করা হবে, প্রথমটির পরবর্তী গুলোও।

উদাহরণ:

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

এই কমান্ডটি file.txt ফাইলে সব "cat" শব্দকে "dog" দিয়ে প্রতিস্থাপন করবে, এমনকি যদি "cat" শব্দটি একাধিক বার একই লাইনে থাকে, তাও।

Simple Substitution vs Global Substitution

  • Simple Substitution: এটি একটি নির্দিষ্ট লাইনে প্রথম বার পাওয়া প্যাটার্নটিই শুধুমাত্র প্রতিস্থাপন করে।
  • Global Substitution: এটি পুরো লাইনে বা পুরো ফাইলে যতবার ঐ প্যাটার্ন পাওয়া যাবে, সেগুলোকে সবগুলোকে প্রতিস্থাপন করে।

উদাহরণ 1: Simple Substitution

ধরা যাক, আপনার ফাইলে "apple" শব্দটি রয়েছে এবং আপনি প্রথম occurrence (প্রথমবার) শুধুমাত্র "orange" দিয়ে প্রতিস্থাপন করতে চান:

sed 's/apple/orange/' file.txt

এটি প্রথম "apple" শব্দটি "orange" দিয়ে প্রতিস্থাপন করবে এবং পরবর্তী "apple" শব্দগুলো অপরিবর্তিত থাকবে।

উদাহরণ 2: Global Substitution

যদি আপনি একই কাজ করতে চান তবে গ্লোবাল ভাবে, অর্থাৎ, সব "apple" শব্দকে "orange" দিয়ে প্রতিস্থাপন করতে চান, তাহলে:

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

এটি ফাইলের সব "apple" শব্দকে "orange"-এ পরিবর্তন করবে।

In-place Substitution (ইন-প্লেস প্রতিস্থাপন)

যদি আপনি ফাইলে সরাসরি পরিবর্তন করতে চান, তাহলে -i অপশন ব্যবহার করতে পারেন।

উদাহরণ:

sed -i 's/cat/dog/g' file.txt

এটি file.txt ফাইলে সব "cat" শব্দকে "dog"-এ প্রতিস্থাপন করবে এবং তা সরাসরি সেভ করবে।

Conclusion

  • Simple Substitution শুধুমাত্র প্রথম occurrence বা প্রথম প্যাটার্নের পরিবর্তন করে।
  • Global Substitution ফাইলে বা লাইনে সব occurrences বা প্যাটার্নের পরিবর্তন করে।
  • Global Substitution যখন ব্যবহৃত হয়, তখন g ফ্ল্যাগ ব্যবহার করা হয় যাতে একাধিক পরিবর্তন করা যায়।
Content added By
Promotion

Are you sure to start over?

Loading...