Sed (Stream Editor) একটি অত্যন্ত শক্তিশালী এবং বহুল ব্যবহৃত টুল যা বিভিন্ন প্রকারের টেক্সট ম্যানিপুলেশন কাজের জন্য ব্যবহৃত হয়। এটি বিশেষভাবে Unix এবং Linux সিস্টেমে জনপ্রিয়, এবং স্ক্রিপ্টিং, অটোমেশন এবং সিস্টেম অ্যাডমিনিস্ট্রেশন কার্যক্রমে ব্যাপকভাবে ব্যবহৃত হয়। Sed এর কিছু প্রধান ব্যবহার ক্ষেত্র নিম্নরূপ:
1. টেক্সট ফাইলের পরিবর্তন
Sed সবচেয়ে বেশি ব্যবহৃত হয় টেক্সট ফাইলের মধ্যে নির্দিষ্ট শব্দ বা প্যাটার্ন খুঁজে তা পরিবর্তন করার জন্য। উদাহরণস্বরূপ, আপনি যদি একটি ফাইলে কোনো বিশেষ শব্দ খুঁজে সেটি প্রতিস্থাপন করতে চান, তাহলে Sed ব্যবহার করা হয়।
কমান্ড উদাহরণ:
sed 's/old_word/new_word/g' file.txtএটি file.txt ফাইলে সব "old_word" শব্দকে "new_word"-এ প্রতিস্থাপন করবে।
2. ফাইল থেকে নির্দিষ্ট লাইন মুছে ফেলা
Sed দিয়ে আপনি নির্দিষ্ট লাইন বা লাইন রেঞ্জ মুছে ফেলতে পারেন। এটি সাধারণত লগ ফাইল বা আউটপুট ফাইল থেকে অপ্রয়োজনীয় লাইন মুছতে ব্যবহৃত হয়।
কমান্ড উদাহরণ:
sed '3d' file.txtএটি file.txt থেকে তৃতীয় লাইনটি মুছে ফেলবে।
3. নতুন লাইন যোগ করা
Sed দিয়ে আপনি ফাইলের নির্দিষ্ট স্থানে নতুন লাইন যোগ করতে পারেন। এটি বিশেষভাবে ডেটাবেস বা লগ ফাইলের জন্য ব্যবহৃত হতে পারে, যেখানে মাঝে মাঝে নতুন ইনফরমেশন যুক্ত করা দরকার।
কমান্ড উদাহরণ:
sed '2a This is a new line' file.txtএটি file.txt এর দ্বিতীয় লাইনের পরে "This is a new line" যোগ করবে।
4. ফাইলের মধ্যে টেক্সট একত্রিত করা
Sed এর মাধ্যমে আপনি একাধিক ফাইলের মধ্যে টেক্সট একত্রিত করতে পারেন বা ফাইলের টেক্সট কমপ্লেক্স প্যাটার্নের সাথে মেলানো সম্ভব। এটি লগ ফাইল বিশ্লেষণ বা আউটপুট ফিল্টার করার জন্য ব্যবহার করা হয়।
কমান্ড উদাহরণ:
sed -n '/error/p' logfile.txtএটি logfile.txt থেকে শুধুমাত্র "error" শব্দটি পাওয়া লাইনগুলো প্রদর্শন করবে।
5. রেগুলার এক্সপ্রেশন ব্যবহার
Sed রেগুলার এক্সপ্রেশন (Regular Expressions) সমর্থন করে, যা টেক্সট ফাইলে জটিল প্যাটার্ন খুঁজে বের করতে এবং পরিবর্তন করতে সহায়তা করে। উদাহরণস্বরূপ, আপনি যদি সমস্ত ইমেইল ঠিকানা খুঁজে সেগুলো পরিবর্তন করতে চান, তাহলে রেগুলার এক্সপ্রেশন ব্যবহার করা হয়।
কমান্ড উদাহরণ:
sed 's/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}/[email protected]/g' file.txtএটি file.txt ফাইলের সমস্ত ইমেইল ঠিকানা "[email protected]" দিয়ে প্রতিস্থাপন করবে।
6. পাইপলাইন এবং স্ক্রিপ্টিং
Sed অন্যান্য কমান্ডের সাথে পাইপলাইনের মাধ্যমে ব্যবহার করা যায়। এটি স্ক্রিপ্টিংয়ের অংশ হিসেবে ব্যবহৃত হয় যেখানে একাধিক কমান্ড একসাথে কাজ করে।
কমান্ড উদাহরণ:
cat file.txt | sed 's/cat/dog/g'এটি file.txt ফাইলের "cat" শব্দগুলো "dog"-এ পরিবর্তন করবে।
7. ইন-প্লেস পরিবর্তন
Sed দিয়ে আপনি একটি ফাইলে সরাসরি পরিবর্তন করতে পারেন, যা -i অপশন দিয়ে করা যায়। এটি অনেক সময় ব্যবহার হয় যখন কোনো ফাইলের পরিবর্তন সরাসরি সেভ করতে হয়।
কমান্ড উদাহরণ:
sed -i 's/cat/dog/g' file.txtএটি file.txt ফাইলে "cat" শব্দগুলো "dog"-এ পরিবর্তন করবে এবং তা সরাসরি সেভ করবে।
8. লগ ফাইল প্রক্রিয়া
Sed সাধারণত লগ ফাইল বিশ্লেষণের জন্য ব্যবহার করা হয়। বিভিন্ন ধরণের লগ বা আউটপুট ফাইল থেকে অপ্রয়োজনীয় লাইন বা প্যাটার্ন মুছে ফেলার জন্য Sed ব্যবহৃত হয়।
কমান্ড উদাহরণ:
sed '/^$/d' logfile.txtএটি logfile.txt থেকে সমস্ত খালি লাইন মুছে ফেলবে।
9. টেক্সট ফাইলের ফরম্যাটিং
Sed ব্যবহার করে ফাইলের টেক্সট ফরম্যাটও পরিবর্তন করা যায়। যেমন, আপনি কোনো টেবিল বা ডেটা ফাইলের মধ্যে কিছু নির্দিষ্ট ফরম্যাটে পরিবর্তন আনতে পারেন।
কমান্ড উদাহরণ:
sed 's/^/ID: /' data.txtএটি data.txt ফাইলের প্রতিটি লাইনের শুরুতে "ID: " যোগ করবে।
সারাংশ
Sed একটি বহুমুখী এবং শক্তিশালী টুল, যা টেক্সট ম্যানিপুলেশন, ফাইল প্রক্রিয়াকরণ, এবং স্ক্রিপ্টিংয়ের জন্য ব্যবহৃত হয়। এর সাহায্যে আপনি খুব দ্রুত এবং সহজে টেক্সট পরিবর্তন, মুছে ফেলা, বা নতুন কিছু যোগ করতে পারেন। Sed এর ব্যবহার ক্ষেত্র অনেক বিস্তৃত, এবং এটি সিস্টেম অ্যাডমিনিস্ট্রেশন, ডেটা প্রক্রিয়াকরণ, স্ক্রিপ্টিং, এবং অটোমেটেড টাস্কের জন্য অপরিহার্য একটি টুল।
Read more