Sales.txt
তারিখ পরিমাণ এলাকা
01/01/2020 60000 Dhakaাকা
10/02/2020 76000 রাজশাহী
21/03/2020 54000 Khulna
15/04/2020 78000 Chandpur
17/05/2020 45000 বগুড়া
02/06/2020 67000 কুমিল্লা
ফাইলে স্ট্রিংকে `sed` কমান্ড দিয়ে প্রতিস্থাপন করুন
`এর মৌলিক বাক্য গঠন sed একটি ফাইলে নির্দিষ্ট স্ট্রিং প্রতিস্থাপনের জন্য কমান্ড নিচে দেওয়া হল।
বাক্য গঠন
sed -আই 's/search_string/replace_string/'ফাইলের নাম
উপরের সিনট্যাক্সের প্রতিটি অংশ নীচে ব্যাখ্যা করা হয়েছে।
'-আই' ফাইলে সার্চ স্ট্রিং বিদ্যমান থাকলে প্রতিস্থাপন স্ট্রিং সহ মূল ফাইলের বিষয়বস্তু সংশোধন করার জন্য বিকল্পটি ব্যবহার করা হয়।
'গুলি' বিকল্প কমান্ড নির্দেশ করে।
'অনুসন্ধান স্ট্রিং' স্ট্রিং মান রয়েছে যা প্রতিস্থাপনের জন্য ফাইলে অনুসন্ধান করা হবে।
'প্রতিস্থাপন_ স্ট্রিং' স্ট্রিং মান রয়েছে যা ফাইলের সামগ্রী প্রতিস্থাপন করতে ব্যবহৃত হবে যা মেলে 'অনুসন্ধান স্ট্রিং' মান
'ফাইলের নাম' ফাইলের নাম রয়েছে যেখানে অনুসন্ধান এবং প্রতিস্থাপন প্রয়োগ করা হবে।
উদাহরণ 1: 'sed' কমান্ড দিয়ে ফাইলটি প্রতিস্থাপন করুন
নিম্নলিখিত স্ক্রিপ্টে, অনুসন্ধান এবং প্রতিস্থাপন পাঠ্য ব্যবহারকারীর কাছ থেকে নেওয়া হবে। যদি 'Sales.txt' তে সার্চ স্ট্রিং বিদ্যমান থাকে, তাহলে এটি প্রতিস্থাপন স্ট্রিং দ্বারা প্রতিস্থাপিত হবে। এখানে, একটি কেস-সংবেদনশীল অনুসন্ধান করা হবে।
#!/বিন/ব্যাশ# ফাইলের নাম বরাদ্দ করুন
ফাইলের নাম='Sales.txt'
# সার্চ স্ট্রিং নিন
পড়ুন -পি 'সার্চ স্ট্রিং লিখুন:'অনুসন্ধান
# প্রতিস্থাপন স্ট্রিং নিন
পড়ুন -পি 'প্রতিস্থাপন স্ট্রিং লিখুন:'প্রতিস্থাপন
যদি [[ $ অনুসন্ধান !='' && $ প্রতিস্থাপন !='' ]];তারপর
sed -আই এর/$ অনুসন্ধান/$ প্রতিস্থাপন/ ' $ filename
থাকা
আউটপুট
উদাহরণ 2: 'g' এবং 'i' পতাকা দিয়ে 'sed' কমান্ড দিয়ে ফাইলটি প্রতিস্থাপন করুন
নিম্নলিখিত স্ক্রিপ্টটি পূর্ববর্তী উদাহরণের মতো কাজ করবে, কিন্তু সার্চ স্ট্রিং বিশ্বব্যাপী 'g' পতাকার জন্য অনুসন্ধান করা হবে, এবং কেস-সংবেদনশীল অনুসন্ধান 'i' পতাকাটির জন্য করা হবে।
#!/বিন/ব্যাশ# সার্চ স্ট্রিং নিন
পড়ুন -পি 'সার্চ স্ট্রিং লিখুন:'অনুসন্ধান
# প্রতিস্থাপন স্ট্রিং নিন
পড়ুন -পি 'প্রতিস্থাপন স্ট্রিং লিখুন:'প্রতিস্থাপন
যদি [[ $ অনুসন্ধান !='' && $ প্রতিস্থাপন !='' ]];তারপর
sed -আই এর/$ অনুসন্ধান/$ প্রতিস্থাপন/দাও ' $ 1
থাকা
আউটপুট
উদাহরণ 3: ফাইলটি 'sed' কমান্ড এবং ম্যাচিং ডিজিট প্যাটার্ন দিয়ে প্রতিস্থাপন করুন
নিম্নলিখিত স্ক্রিপ্টটি একটি ফাইলে সমস্ত সংখ্যাসূচক বিষয়বস্তু অনুসন্ধান করবে এবং সামগ্রীটি যোগ করে প্রতিস্থাপন করবে '$' সংখ্যার শুরুতে প্রতীক।
#!/বিন/ব্যাশ# চেক করুন কমান্ড লাইন আর্গুমেন্ট মান আছে কি না
যদি [ $ 1 !='' ];তারপর
# সংখ্যাসহ সমস্ত স্ট্রিং অনুসন্ধান করুন এবং $ যোগ করুন
sed -আই 's/ b [0-9] {5 } b/$ &/g' $ 1
থাকা
আউটপুট
ফাইলে স্ট্রিংকে `awk` কমান্ড দিয়ে প্রতিস্থাপন করুন
দ্য ' অদ্ভুত ' কমান্ড হল একটি ফাইলে স্ট্রিং প্রতিস্থাপন করার আরেকটি উপায়, কিন্তু এই কমান্ডটি মূল ফাইলটি সরাসরি ' কিন্তু কমান্ড
উদাহরণ 4: 'awk' কমান্ড দিয়ে ফাইলটি প্রতিস্থাপন করুন
নিম্নলিখিত স্ক্রিপ্ট আপডেট করা বিষয়বস্তু সংরক্ষণ করবে temp.txt যে ফাইলটি মূল ফাইল দ্বারা নাম পরিবর্তন করা হবে।
#!/বিন/ব্যাশ# চেক করুন কমান্ড লাইন আর্গুমেন্ট মান আছে কি না
যদি [ $ 1 !='' ];তারপর
# তারিখের উপর ভিত্তি করে সমস্ত স্ট্রিং অনুসন্ধান করুন
awk '{সাব ('02/06/2020', '12/06/2020')} 1 ' $ 1 >temp.txt&& mvtemp.txt$ 1
থাকা
আউটপুট
উপসংহার
এই নিবন্ধটি আপনাকে দেখিয়েছে কিভাবে একটি ফাইলে নির্দিষ্ট স্ট্রিং প্রতিস্থাপন করতে ব্যাশ স্ক্রিপ্ট ব্যবহার করতে হয়। উপরের উদাহরণগুলি অনুশীলন করার পরে একটি ফাইলে একটি স্ট্রিং প্রতিস্থাপন করার কাজটি আপনার জন্য সহজ হওয়া উচিত।