নিম্নলিখিত আউটপুট দেখায় যে সিস্টেমে 4.4 সংস্করণের GNU Sed ইনস্টল করা আছে।
বাক্য গঠন:
sed [বিকল্প]...[লিপি] [ফাইল]
যদি 'sed' কমান্ড দিয়ে কোন ফাইলের নাম দেওয়া না হয়, তাহলে স্ক্রিপ্ট স্ট্যান্ডার্ড ইনপুট ডেটাতে কাজ করবে। `Sed` স্ক্রিপ্ট কোন বিকল্প ছাড়াই কার্যকর করা যেতে পারে।
বিষয়বস্তু :
- 'সেড' ব্যবহার করে মৌলিক পাঠ্য প্রতিস্থাপন
- 'G' বিকল্প ব্যবহার করে একটি ফাইলের একটি নির্দিষ্ট লাইনে একটি পাঠ্যের সমস্ত দৃষ্টান্ত প্রতিস্থাপন করুন
- প্রতি লাইনে শুধুমাত্র একটি ম্যাচের দ্বিতীয় ঘটনাটি প্রতিস্থাপন করুন
- প্রতিটি লাইনে শুধুমাত্র একটি ম্যাচের শেষ ঘটনাটি প্রতিস্থাপন করুন
- একটি ফাইলে প্রথম মিলটি নতুন টেক্সট দিয়ে প্রতিস্থাপন করুন
- নতুন টেক্সট দিয়ে একটি ফাইলে শেষ ম্যাচটি প্রতিস্থাপন করুন
- সার্চ পরিচালনা এবং ফাইল পাথ প্রতিস্থাপন কমান্ড প্রতিস্থাপনে ব্যাকস্ল্যাশ এড়িয়ে যাওয়া
- সমস্ত ফাইলের সম্পূর্ণ পাথকে কেবল ফাইলের নাম কোন ডিরেক্টরি দিয়ে প্রতিস্থাপন করুন
- বিকল্প টেক্সট কিন্তু শুধুমাত্র যদি স্ট্রিংয়ে অন্য কিছু টেক্সট পাওয়া যায়
- বিকল্প টেক্সট কিন্তু শুধুমাত্র যদি স্ট্রিংয়ে অন্য কিছু টেক্সট না পাওয়া যায়
- 'ব্যবহার করে মেলে প্যাটার্নের আগে স্ট্রিং যোগ করুন 1 '
- মিলে যাওয়া লাইন মুছুন
- মিলে যাওয়া লাইন এবং 2 টি লাইন মিলানোর পর মুছে দিন
- পাঠ্যের লাইনের শেষে সমস্ত স্পেস মুছুন
- লাইনে দুইবার মিল আছে এমন সব লাইন মুছে দিন
- শুধুমাত্র হোয়াইটস্পেস আছে এমন সব লাইন মুছে দিন
- মুদ্রণযোগ্য নয় এমন সমস্ত অক্ষর মুছুন
- যদি লাইনে মিল থাকে তবে লাইনের শেষে কিছু যুক্ত করুন
- যদি লাইনে কোন ম্যাচ থাকে তাহলে ম্যাচের আগে সন্নিবেশ করান
- যদি লাইনে কোন ম্যাচ থাকে তাহলে ম্যাচের পর সন্নিবেশ করান
- যদি মিল না থাকে তবে লাইনের শেষে কিছু যুক্ত করুন
- যদি মিল না থাকে তবে লাইনটি মুছুন
- টেক্সটের পরে একটি স্পেস যোগ করার পর ডুপ্লিকেট মিলে যাওয়া টেক্সট
- স্ট্রিংগুলির একটি তালিকা নতুন স্ট্রিং দিয়ে প্রতিস্থাপন করুন
- একটি মিলে যাওয়া স্ট্রিংকে একটি স্ট্রিং দিয়ে প্রতিস্থাপন করুন যাতে নতুন লাইন থাকে
- ফাইল থেকে নতুন লাইন সরান এবং প্রতিটি লাইনের শেষে একটি কমা োকান
- কমা সরান এবং পাঠ্যকে একাধিক লাইনে বিভক্ত করার জন্য নতুন লাইন যুক্ত করুন
- কেস সংবেদনশীল মিল খুঁজুন এবং লাইন মুছে দিন
- কেস সংবেদনশীল মিল খুঁজুন এবং নতুন পাঠ্য দিয়ে প্রতিস্থাপন করুন
- কেস সংবেদনশীল মিল খুঁজুন এবং একই পাঠ্যের সমস্ত বড় হাতের সাথে প্রতিস্থাপন করুন
- কেস সংবেদনশীল মিল খুঁজুন এবং একই পাঠ্যের সমস্ত ছোট হাতের সাথে প্রতিস্থাপন করুন
- সমস্ত বড় হাতের অক্ষরকে ছোট হাতের অক্ষর দিয়ে প্রতিস্থাপন করুন
- সংখ্যার সারিতে সার্চ করুন এবং সংখ্যার পরে মুদ্রা চিহ্ন যুক্ত করুন
- যে সংখ্যায় dig টির বেশি সংখ্যা আছে সেগুলিতে কমা যুক্ত করুন
- ট্যাব অক্ষরগুলি 4 স্পেস অক্ষর দিয়ে প্রতিস্থাপন করুন
- একটি ট্যাব অক্ষর দিয়ে পরপর 4 টি স্থান অক্ষর প্রতিস্থাপন করুন
- সমস্ত লাইন প্রথম 80 টি অক্ষরে ছেঁটে দিন
- একটি স্ট্রিং রেজেক্স অনুসন্ধান করুন এবং এর পরে কিছু স্ট্যান্ডার্ড টেক্সট যোগ করুন
- একটি স্ট্রিং রেজেক্স এবং এর পরে পাওয়া স্ট্রিংয়ের দ্বিতীয় কপি অনুসন্ধান করুন
- একটি ফাইল থেকে মাল্টি-লাইন `sed` স্ক্রিপ্ট চালানো হচ্ছে
- একটি মাল্টি-লাইন প্যাটার্ন মেলে এবং নতুন মাল্টি-লাইন টেক্সট দিয়ে প্রতিস্থাপন করুন
- একটি প্যাটার্নের সাথে মিলে যাওয়া দুটি শব্দের ক্রম প্রতিস্থাপন করুন
- কমান্ড লাইন থেকে একাধিক sed কমান্ড ব্যবহার করুন
- অন্যান্য কমান্ডের সাথে sed একত্রিত করুন
- একটি ফাইলে একটি খালি লাইন োকান
- একটি ফাইলের প্রতিটি লাইন থেকে সমস্ত আলফা-নিউমেরিক অক্ষর মুছুন।
- স্ট্রিং মেলাতে 'এবং' ব্যবহার করুন
- শব্দের জোড়া স্যুইচ করুন
- প্রতিটি শব্দের প্রথম অক্ষর বড় করুন
- ফাইলের লাইন নম্বর প্রিন্ট করুন
1. 'sed' ব্যবহার করে মৌলিক পাঠ্য প্রতিস্থাপন
একটি টেক্সটের যে কোন বিশেষ অংশ অনুসন্ধান এবং প্রতিস্থাপন করে 'sed' কমান্ড ব্যবহার করে প্যাটার্ন অনুসন্ধান এবং প্রতিস্থাপন করা যেতে পারে। নিম্নলিখিত উদাহরণে, 's' অনুসন্ধান এবং প্রতিস্থাপনের কাজ নির্দেশ করে। পাঠ্য, বাশ স্ক্রিপ্টিং ল্যাঙ্গুয়েজে 'বাশ' শব্দটি অনুসন্ধান করা হবে এবং যদি পাঠ্যে শব্দটি বিদ্যমান থাকে তবে এটি 'পার্ল' শব্দ দ্বারা প্রতিস্থাপিত হবে।
$বের করে দিল 'বাশ স্ক্রিপ্টিং ল্যাঙ্গুয়েজ' | sed 's/বাশ/পার্ল/'
আউটপুট:
'বাশ' শব্দটি পাঠ্যে বিদ্যমান। সুতরাং আউটপুট হল 'পার্ল স্ক্রিপ্টিং ল্যাঙ্গুয়েজ'।
`sed` কমান্ডটি ফাইলের বিষয়বস্তুর যে কোনো অংশকে প্রতিস্থাপন করতেও ব্যবহার করা যেতে পারে। নামে একটি টেক্সট ফাইল তৈরি করুন সপ্তাহের দিন। txt নিম্নলিখিত বিষয়বস্তু সহ।
সপ্তাহের দিন। txt
সোমবারমঙ্গলবার
বুধবার
বৃহস্পতিবার
শুক্রবার
শনিবার
রবিবার
নিম্নলিখিত কমান্ডটি 'রবিবার' পাঠ্যটি অনুসন্ধান এবং প্রতিস্থাপন করবে, 'রবিবার হল ছুটি' পাঠ্য দ্বারা।
$বিড়ালসপ্তাহের দিন। txt$sed 'র/রবিবার/রবিবার ছুটি/'সপ্তাহের দিন। txt
আউটপুট:
সপ্তাহের দিন। Txt ফাইলে 'সানডে' বিদ্যমান এবং এই শব্দটি টেক্সট দ্বারা প্রতিস্থাপিত হয়, 'রবিবার হল ছুটি' উপরের 'sed' কমান্ডটি কার্যকর করার পরে।
2. 'g' বিকল্প ব্যবহার করে একটি ফাইলের একটি নির্দিষ্ট লাইনে একটি পাঠ্যের সমস্ত দৃষ্টান্ত প্রতিস্থাপন করুন
'G' অপশনটি 'সেড' কমান্ডে মিলে যাওয়া প্যাটার্নের সমস্ত ঘটনা প্রতিস্থাপন করতে ব্যবহৃত হয়। নামে একটি টেক্সট ফাইল তৈরি করুন python.txt 'g' বিকল্পের ব্যবহার জানতে নিম্নলিখিত বিষয়বস্তু সহ। এই ফাইলে শব্দটি রয়েছে। 'পাইথন' একাধিক বার.
python.txt
পাইথন একটি খুব জনপ্রিয় ভাষা।
পাইথন ব্যবহার করা সহজ। পাইথন শেখা সহজ।
পাইথন একটি ক্রস-প্ল্যাটফর্ম ভাষা
নিম্নলিখিত কমান্ডটি 'এর সমস্ত ঘটনার প্রতিস্থাপন করবে পাইথন 'ফাইলের দ্বিতীয় লাইনে, python.txt । এখানে, 'পাইথন' দ্বিতীয় লাইনে দুইবার ঘটে।
$ cat পাইথন।txt$ sed'2 s / Python / perl / g'অজগর।txt
আউটপুট:
স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে। এখানে, দ্বিতীয় লাইনে 'পাইথন' এর সমস্ত ঘটনা 'পার্ল' দ্বারা প্রতিস্থাপিত হয়েছে।
3. প্রতিটি লাইনে শুধুমাত্র একটি ম্যাচের দ্বিতীয় ঘটনাটি প্রতিস্থাপন করুন
যদি কোন শব্দ একটি ফাইলে একাধিকবার প্রদর্শিত হয় তাহলে প্রতিটি লাইনে শব্দের বিশেষ ঘটনাটি সংঘটন সংখ্যার সাথে `sed` কমান্ড ব্যবহার করে প্রতিস্থাপন করা যেতে পারে। নিম্নলিখিত `sed` কমান্ডটি ফাইলের প্রতিটি লাইনে সার্চ প্যাটার্নের দ্বিতীয় ঘটনা প্রতিস্থাপন করবে, python.txt ।
$ sed's/Python/perl/g2'অজগর।txtআউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। এখানে, অনুসন্ধানের পাঠ্য, ' পাইথন ' শুধুমাত্র দ্বিতীয় লাইনে দুইবার প্রদর্শিত হয় এবং এটি পাঠ্য দ্বারা প্রতিস্থাপিত হয়, ' পার্ল '।
4. প্রতিটি লাইনে শুধুমাত্র একটি ম্যাচের শেষ ঘটনাটি প্রতিস্থাপন করুন
নামে একটি টেক্সট ফাইল তৈরি করুন lang.txt নিম্নলিখিত বিষয়বস্তু সহ।
lang.txt
ব্যাশ প্রোগ্রামিং ভাষা। পাইথন প্রোগ্রামিং ভাষা। পার্ল প্রোগ্রামিং ভাষা।
হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ।
এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ।
5. নতুন টেক্সট দিয়ে একটি ফাইলে প্রথম ম্যাচটি প্রতিস্থাপন করুন
নিচের কমান্ডটি সার্চ প্যাটার্নের প্রথম ম্যাচের প্রতিস্থাপন করবে, ‘ পাইথন 'পাঠ্য দ্বারা, 'পার্ল '। এখানে, '1' প্যাটার্নের প্রথম ঘটনার সাথে মেলাতে ব্যবহৃত হয়।
$ cat পাইথন।txt$ sed'1 গুলি / পাইথন / পার্ল /'অজগর।txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। এখানে. প্রথম লাইনে 'পাইথন' এর প্রথম ঘটনাটি 'পার্ল' দ্বারা প্রতিস্থাপিত হয়।
6. নতুন টেক্সট দিয়ে একটি ফাইলে শেষ ম্যাচটি প্রতিস্থাপন করুন
নিম্নলিখিত কমান্ডটি অনুসন্ধানের প্যাটার্নের শেষ ঘটনাকে প্রতিস্থাপন করবে, 'অজগর 'পাঠ্য দ্বারা, 'বাশ'। এখানে, '$' প্যাটার্নের শেষ ঘটনার সাথে মেলাতে প্রতীক ব্যবহার করা হয়।
$ cat পাইথন।txt$ sed -e'$ s / পাইথন / ব্যাশ /'অজগর।txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
7. অনুসন্ধানের ব্যবস্থাপনা এবং ফাইল পাথ প্রতিস্থাপনের জন্য প্রতিস্থাপন কমান্ডে ব্যাকস্ল্যাশ এড়িয়ে যাওয়া
অনুসন্ধান এবং প্রতিস্থাপনের জন্য ফাইল পাথের ব্যাকস্ল্যাশ থেকে রক্ষা পাওয়া প্রয়োজন। `Sed` এর নিম্নলিখিত কমান্ডটি ফাইল পাথে ব্যাকস্ল্যাশ () যুক্ত করবে।
$বের করে দিল /বাড়ি/উবুন্টু/কোড/পার্ল/add.pl| sed এর; /; \ /; ছ 'আউটপুট:
ফাইলের পথ, '/Home/ubuntu/code/perl/add.pl' `sed` কমান্ডে ইনপুট হিসাবে প্রদান করা হয় এবং উপরের কমান্ডটি চালানোর পর নিম্নলিখিত আউটপুটটি প্রদর্শিত হবে।
8. সমস্ত ফাইলের সম্পূর্ণ পথকে শুধু ফাইলের নাম দিয়ে কোন ডিরেক্টরি না দিয়ে প্রতিস্থাপন করুন
ফাইলের নামটি ব্যবহার করে খুব সহজেই ফাইল পাথ থেকে উদ্ধার করা যায় বেসনেম ' কমান্ড ফাইল পথ থেকে ফাইলের নাম পুনরুদ্ধার করতে `sed` কমান্ড ব্যবহার করা যেতে পারে। নিচের কমান্ডটি ফাইলের নামটি পুনরায় 'echo' কমান্ড দ্বারা প্রদত্ত ফাইল পাথ থেকে উদ্ধার করবে।
$বের করে দিল '/home/ubuntu/temp/myfile.txt' | sed 's /.*///'আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। এখানে, ফাইলের নাম, ' myfile.txt ’ আউটপুট হিসাবে মুদ্রিত হয়।
9. টেক্সটটি প্রতিস্থাপন করুন কিন্তু শুধুমাত্র যদি স্ট্রিংয়ে অন্য কিছু লেখা পাওয়া যায়
'নামে একটি ফাইল তৈরি করুন dept.txt ’ অন্যান্য পাঠ্যের উপর ভিত্তি করে যে কোন পাঠ্য প্রতিস্থাপন করার জন্য নিম্নলিখিত সামগ্রী সহ।
dept.txt
মোট শিক্ষার্থীদের তালিকা:
সিএসই - গণনাEEE - গণনা
নাগরিক - গণনা
নিম্নলিখিত `sed` কমান্ডে দুটি প্রতিস্থাপন কমান্ড ব্যবহার করা হয়। এখানে, পাঠ্য, ' গণনা 'দ্বারা প্রতিস্থাপিত হবে 100 যে লাইনে লেখা আছে, 'সিএসই 'এবং পাঠ্য,' গণনা ' দ্বারা প্রতিস্থাপিত হবে 70 যে সারিতে সার্চ প্যাটার্ন আছে, ' ইইই ’ ।
$বিড়ালdept.txt$sed -এবং '/সিএসই/গুলি/গণনা/100/; /EEE/গুলি/গণনা/70/; 'dept.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
10. টেক্সটকে প্রতিস্থাপিত করুন কিন্তু শুধুমাত্র যদি স্ট্রিংয়ে অন্য কিছু লেখা না পাওয়া যায়
নিচের `sed` কমান্ডটি 'CSE' পাঠ্য ধারণ করে না এমন লাইনে 'কাউন্ট' মান প্রতিস্থাপন করবে। dept.txt ফাইলে দুটি লাইন রয়েছে যার মধ্যে টেক্সট নেই, 'CSE'। তাহলে ' গণনা 'দুটি লাইনে 80 দ্বারা পাঠ্য প্রতিস্থাপিত হবে।
$বিড়ালdept.txt$sed -আই -এবং '/সিএসই/! s/Count/80/; 'dept.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
11. ' 1' ব্যবহার করে ম্যাচিং প্যাটার্নের আগে এবং পরে স্ট্রিং যোগ করুন
'সেড' কমান্ডের সাথে মিলে যাওয়া প্যাটার্নের ক্রমকে ' 1', ' 2' ইত্যাদি দ্বারা চিহ্নিত করা হয়। নিম্নলিখিত 'sed' কমান্ড প্যাটার্ন, 'ব্যাশ' অনুসন্ধান করবে এবং যদি প্যাটার্নটি মিলে যায় তবে পাঠ্য প্রতিস্থাপনের অংশে এটি ' 1' দ্বারা অ্যাক্সেস করা হবে। এখানে, ইনপুট পাঠ্যে 'বাশ' পাঠ্যটি অনুসন্ধান করা হয় এবং, একটি পাঠ আগে যোগ করা হয় এবং ' 1' এর পরে অন্য পাঠ্য যুক্ত করা হয়।
$বের করে দিল 'ব্যাশ ভাষা' | sed 's/ (Bash )/Learn 1 programming/'আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। এখানে, ' শিখুন ' পাঠ্য আগে যোগ করা হয় 'বাশ' এবং ' প্রোগ্রামিং 'এর পরে পাঠ্য যোগ করা হয় বাশ '।
12. মিলে যাওয়া লাইন মুছুন
'ডি' অপশনটি 'sed' কমান্ডে ফাইল থেকে যেকোন লাইন মুছে ফেলার জন্য ব্যবহার করা হয়। নামে একটি ফাইল তৈরি করুন os.txt এবং এর ফাংশন পরীক্ষা করতে নিম্নলিখিত বিষয়বস্তু যোগ করুন 'ডি' বিকল্প
বিড়াল os.txt
উইন্ডোজলিনাক্স
অ্যান্ড্রয়েড
আপনি
নিম্নলিখিত `sed` কমান্ড সেই লাইনগুলি মুছে দেবে os.txt যে ফাইলটিতে পাঠ্য রয়েছে, 'ওএস'।
$বিড়ালos.txt$sed '/ডি'os.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
13. মিলে যাওয়া লাইন এবং 2 লাইন মিলানোর পর মুছে দিন
নিচের কমান্ডটি ফাইল থেকে তিনটি লাইন মুছে দেবে os.txt যদি প্যাটার্ন, ' লিনাক্স ’ পাওয়া. os.txt টেক্সট রয়েছে, 'লিনাক্স 'দ্বিতীয় লাইনে। সুতরাং, এই লাইন এবং পরবর্তী দুটি লাইন মুছে ফেলা হবে।
$sed ' / লিনাক্স /, + 2 ডি'os.txtআউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে।
14. পাঠ্যের লাইনের শেষে সমস্ত স্পেস মুছুন
ব্যবহার [: ফাঁকা:] ক্লাসটি পাঠ্য বা যেকোনো ফাইলের বিষয়বস্তু থেকে স্পেস এবং ট্যাব অপসারণ করতে ব্যবহার করা যেতে পারে। নিম্নলিখিত কমান্ডটি ফাইলের প্রতিটি লাইনের শেষে স্পেসগুলি সরিয়ে দেবে, os.txt।
$বিড়ালos.txt$sed এর/[[: ফাঁকা:]]*$ // 'os.txt
আউটপুট:
os.txt উপরের 'sed' কমান্ড দ্বারা মুছে ফেলা প্রতিটি লাইনের পরে খালি লাইন রয়েছে।
15. লাইনে দুইবার মিল আছে এমন সব লাইন মুছে দিন
নামে একটি টেক্সট ফাইল তৈরি করুন, input.txt নিম্নলিখিত বিষয়বস্তু সহ এবং ফাইলের সেই লাইনগুলি মুছে দিন যাতে অনুসন্ধানের প্যাটার্নটি দুইবার রয়েছে।
input.txt
পিএইচপি একটি সার্ভার-সাইড স্ক্রিপ্টিং ল্যাঙ্গুয়েজ।
পিএইচপি একটি ওপেন সোর্স ভাষা এবং পিএইচপি কেস সংবেদনশীল।
পিএইচপি প্ল্যাটফর্ম-স্বাধীন।
'পিএইচপি' টেক্সট ফাইলের দ্বিতীয় লাইনে দুইবার থাকে, input.txt । এই উদাহরণে দুটি 'সেড' কমান্ড ব্যবহার করা হয়েছে যা প্যাটার্ন ধারণকারী লাইনগুলি সরিয়ে দেয় ' php ' দুই বার. প্রথম 'সেড' কমান্ড প্রতি লাইনে 'পিএইচপি' এর দ্বিতীয় ঘটনাকে প্রতিস্থাপন করবে dl এবং ইনপুট হিসাবে দ্বিতীয় 'sed' কমান্ডে আউটপুট পাঠান। দ্বিতীয় 'sed' কমান্ড সেই লাইনগুলিকে মুছে দেবে যাতে লেখা আছে, dl '।
$বিড়ালinput.txt$sed 's/php/dl/i2; t'input.txt| sed '/dl/d'
আউটপুট:
input.txt ফাইলের দুটি লাইন আছে যা প্যাটার্ন ধারণ করে, 'পিএইচপি' দুই বার. সুতরাং, উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
16. শুধুমাত্র সাদা স্থান আছে এমন সব লাইন মুছে দিন
এই উদাহরণটি পরীক্ষা করার জন্য বিষয়বস্তুতে খালি লাইন আছে এমন যেকোনো ফাইল নির্বাচন করুন। input.txt পূর্ববর্তী উদাহরণে তৈরি করা ফাইলটিতে দুটি খালি লাইন রয়েছে যা নিম্নলিখিত `sed` কমান্ড ব্যবহার করে মুছে ফেলা যায়। এখানে, '^$' ফাইলের ফাঁকা লাইন খুঁজে বের করতে ব্যবহৃত হয়, input.txt।
$বিড়ালinput.txt$sed '/^$/ডি'input.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
17. মুদ্রণযোগ্য নয় এমন সব অক্ষর মুছে দিন
অ-মুদ্রণযোগ্য অক্ষরগুলি অ-মুদ্রণযোগ্য অক্ষরগুলিকে কারও দ্বারা প্রতিস্থাপন করে যে কোনও পাঠ্য থেকে মুছে ফেলা যেতে পারে। [: print:] বর্গটি এই উদাহরণে অ-মুদ্রণযোগ্য অক্ষর খুঁজে বের করতে ব্যবহৃত হয়। ' T' একটি অ মুদ্রণযোগ্য অক্ষর এবং এটি সরাসরি 'ইকো' কমান্ড দ্বারা বিশ্লেষণ করা যায় না। এর জন্য, ' t' অক্ষর একটি পরিবর্তনশীল, $ ট্যাবে নির্ধারিত হয় যা একটি 'ইকো' কমান্ডে ব্যবহৃত হয়। `Echo` কমান্ডের আউটপুট` sed` কমান্ডে পাঠানো হয় যা আউটপুট থেকে ‘ t’ অক্ষরটি সরিয়ে দেবে।
$ট্যাব= $' টি'$বের করে দিল 'হ্যালো$ ট্যাব ওয়ার্ল্ড'
$বের করে দিল 'হ্যালো$ ট্যাব ওয়ার্ল্ড' | sed 's/[^[: print:]] // g'
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। প্রথম `ইকো কমান্ড ট্যাব স্পেস দিয়ে আউটপুট প্রিন্ট করবে এবং ট্যাব স্পেস সরানোর পর` sed` কমান্ড আউটপুট প্রিন্ট করবে।
18. লাইনে মিল থাকলে লাইনের শেষে কিছু যুক্ত করুন
নিচের কমান্ডটি '10' যুক্ত করবে লাইনের শেষে যেটিতে 'উইন্ডোজ' লেখা আছে os.txt ফাইল
$বিড়ালos.txt$sed ' / উইন্ডোজ / গুলি / $ / 10 /'os.txt
আউটপুট:
কমান্ড চালানোর পর নিচের আউটপুট দেখা যাবে।
19. যদি লাইনে কোন মিল থাকে তবে পাঠ্যের আগে একটি লাইন সন্নিবেশ করান
নিম্নলিখিত 'sed' কমান্ডটি পাঠ্যটি অনুসন্ধান করবে, ' পিএইচপি প্ল্যাটফর্ম-স্বাধীন ' মধ্যে input.txt আগে তৈরি করা ফাইল। যদি ফাইলে এই লেখাটি কোন লাইনে থাকে, তাহলে ' পিএইচপি একটি ব্যাখ্যা করা ভাষা ' সেই লাইনের আগে োকানো হবে।
$বিড়ালinput.txt$sed '/পিএইচপি হল প্ল্যাটফর্ম-স্বাধীন/এস/^/পিএইচপি একটি ব্যাখ্যা করা ভাষা। n/'input.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
20. যদি লাইনে কোন মিল থাকে তবে সেই লাইনের পরে একটি লাইন োকান
নিম্নলিখিত 'sed' কমান্ডটি পাঠ্যটি অনুসন্ধান করবে, ' লিনাক্স ’ ফাইলে os.txt এবং যদি পাঠ্যটি কোন লাইনে বিদ্যমান থাকে তবে একটি নতুন পাঠ্য, ' উবুন্টু 'সেই লাইনের পরে োকানো হবে।
$বিড়ালos.txt$sed 's/Linux/& n উবুন্টু/'os.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
21. যদি মিল না থাকে তবে লাইনের শেষে কিছু যুক্ত করুন
নিম্নলিখিত `sed` কমান্ড সেই লাইনগুলি অনুসন্ধান করবে os.txt যে টেক্সট ধারণ করে না, 'লিনাক্স' এবং পাঠ্য সংযুক্ত করুন, ' অপারেটিং সিস্টেম 'প্রতিটি লাইনের শেষে। এখানে, ' $ 'নতুন লাইন যুক্ত হবে এমন লাইন চিহ্নিত করতে প্রতীক ব্যবহার করা হয়।
$বিড়ালos.txt$sed '/লিনাক্স/! S/$/অপারেটিং সিস্টেম/'os.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। Os.txt ফাইলে তিনটি লাইন বিদ্যমান যার মধ্যে টেক্সট নেই, 'লিনাক্স' এবং এই লাইনের শেষে নতুন টেক্সট যোগ করা হয়েছে।
22. মিল না থাকলে লাইন মুছে দিন
নামে একটি ফাইল তৈরি করুন web.txt এবং নিম্নলিখিত বিষয়বস্তু যোগ করুন এবং মিলিত প্যাটার্ন ধারণ করে না এমন লাইন মুছে দিন। web.txt HTML 5JavaScriptCSSPHPMySQLJQuery নিম্নোক্ত `sed` কমান্ড সেই লাইনগুলি অনুসন্ধান করবে এবং মুছে দেবে, যেগুলোতে 'CSS' লেখা নেই। $ cat web.txt $ sed '/CSS/! d' web.txt আউটপুট: উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। ফাইলে একটি লাইন বিদ্যমান আছে যেটিতে 'CSE' লেখা রয়েছে। সুতরাং, আউটপুটটিতে কেবল একটি লাইন রয়েছে।
23. টেক্সটের পরে একটি স্পেস যোগ করার পর ডুপ্লিকেট মিলে যাওয়া টেক্সট
নিম্নলিখিত 'sed' কমান্ডটি ফাইলটিতে 'to' শব্দটি অনুসন্ধান করবে, python.txt এবং যদি শব্দটি বিদ্যমান থাকে তবে স্থান যুক্ত করে অনুসন্ধান শব্দটির পরে একই শব্দটি সন্নিবেশ করা হবে। এখানে, 'এবং' ডুপ্লিকেট পাঠ্য সংযোজন করতে প্রতীক ব্যবহার করা হয়।
$বিড়ালpython.txt$sed -এবং 's / to / & to / g'python.txt
আউটপুট:
কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। এখানে, 'টু' শব্দটি ফাইলে অনুসন্ধান করা হয়েছে, python.txt এবং এই শব্দটি এই ফাইলের দ্বিতীয় লাইনে বিদ্যমান। সুতরাং, 'প্রতি 'মিলিত পাঠ্যের পরে স্থান যুক্ত করা হয়।
24. স্ট্রিংগুলির একটি তালিকা নতুন স্ট্রিং দিয়ে প্রতিস্থাপন করুন
এই উদাহরণটি পরীক্ষা করার জন্য আপনাকে দুটি তালিকা ফাইল তৈরি করতে হবে। নামে একটি টেক্সট ফাইল তৈরি করুন list1.txt এবং নিম্নলিখিত বিষয়বস্তু যোগ করুন।
বিড়ালের তালিকা 1. txt
1001=>জাফর আলী1023=>নীর হোসেন
1067=>জন মিশেল
নামে একটি টেক্সট ফাইল তৈরি করুন list2.txt এবং নিম্নলিখিত বিষয়বস্তু যোগ করুন।
$ cat list2.txt
1001সিএসই জিপিএ6.1002সিএসই জিপিএ3.24
1023সিএসই জিপিএ3.11
1067সিএসই জিপিএ3.84
নিচের `sed` কমান্ডটি উপরের দেখানো দুটি টেক্সট ফাইলের প্রথম কলামের সাথে মিলবে এবং ফাইলের তৃতীয় কলামের মান দিয়ে মিলে যাওয়া টেক্সট প্রতিস্থাপন করবে list1.txt।
$বিড়ালlist1.txt$বিড়ালlist2.txt
$sed 'বিড়ালlist1.txt| awk '{print' -e s / '$ 1' / '$ 3' / '}''<<<'`cat list2.txt`'
আউটপুট:
1001, 1023 এবং 1067 এর list1.txt এর তিনটি ডেটার সাথে ফাইল মেলে list2.txt ফাইল এবং এই মানগুলির তৃতীয় কলামের সংশ্লিষ্ট নাম দ্বারা প্রতিস্থাপিত হয় list1.txt ।
25. মিলে যাওয়া স্ট্রিংকে একটি স্ট্রিং দিয়ে প্রতিস্থাপন করুন যাতে নতুন লাইন থাকে
নিচের কমান্ডটি `echo` কমান্ড থেকে ইনপুট নেবে এবং শব্দটি অনুসন্ধান করবে, 'পাইথন' লেখার ভিতর. যদি শব্দটি পাঠ্যে বিদ্যমান থাকে তবে একটি নতুন পাঠ্য, 'যোগ করা পাঠ্য' নতুন লাইন দিয়ে োকানো হবে। $ ইকো বাশ পার্ল পাইথন জাভা পিএইচপি এএসপি | sed 's/Python/Added text n/' আউটপুট: উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে।
26. ফাইল থেকে নতুন লাইন সরান এবং প্রতিটি লাইনের শেষে একটি কমা োকান
নিম্নলিখিত `sed` কমান্ডটি ফাইলে একটি কমা দ্বারা প্রতিটি নতুন লাইন প্রতিস্থাপন করবে os.txt । এখানে, -সঙ্গে অপশনটি NULL অক্ষর দ্বারা লাইন পৃথক করতে ব্যবহৃত হয়।
$sed -সঙ্গে 's/ n/,/g'os.txtআউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে।
27. কমা সরান এবং পাঠ্যকে একাধিক লাইনে বিভক্ত করার জন্য নতুন লাইন যুক্ত করুন
নিম্নলিখিত `sed` কমান্ডটি‘ echo` কমান্ড থেকে কমা-বিভক্ত লাইনকে ইনপুট হিসেবে গ্রহণ করবে এবং নতুন লাইন দ্বারা কমা প্রতিস্থাপন করবে।
$বের করে দিল 'Kaniz Fatema,30th,batch' | sed এর/,/n/g 'আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। ইনপুট পাঠ্যটিতে তিনটি কমা-বিভক্ত ডেটা রয়েছে যা নতুন লাইন দ্বারা প্রতিস্থাপিত হয় এবং তিনটি লাইনে মুদ্রিত হয়।
28. কেস সংবেদনশীল মিল খুঁজুন এবং লাইন মুছে দিন
'I' কেস-সংবেদনশীল মিলের জন্য 'sed' কমান্ডে ব্যবহৃত হয় যা ইগনোর কেস নির্দেশ করে। নিচের `sed` কমান্ডটি সেই লাইনটি অনুসন্ধান করবে যেখানে শব্দটি রয়েছে, 'লিনাক্স 'এবং থেকে লাইন মুছে দিন os.txt ফাইল
$বিড়ালos.txt$sed '/লিনাক্স/আইডি'os.txt
আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। os.txt শব্দটি রয়েছে, 'লিনাক্স' যা প্যাটার্নের সাথে মিলেছে, কেস-সংবেদনশীল অনুসন্ধানের জন্য 'লিনাক্স' এবং মুছে ফেলা হয়েছে।
29. কেস সংবেদনশীল মিল খুঁজুন এবং নতুন পাঠ্য দিয়ে প্রতিস্থাপন করুন
নিম্নলিখিত `sed` কমান্ডটি` echo` কমান্ড থেকে ইনপুট নেবে এবং 'bash' শব্দটিকে 'PHP' শব্দ দ্বারা প্রতিস্থাপন করবে।
$বের করে দিল 'আমি বাশ প্রোগ্রামিং পছন্দ করি' | sed 's/Bash/PHP/i'আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। এখানে, শব্দটি 'বাশ' শব্দের সাথে মিলেছে, কেস-সংবেদনশীল অনুসন্ধানের জন্য 'ব্যাশ' এবং 'পিএইচপি' শব্দটি প্রতিস্থাপিত হয়েছে।
30. কেস সংবেদনশীল মিল খুঁজুন এবং একই টেক্সটের সমস্ত বড় হাতের সাথে প্রতিস্থাপন করুন
' ইউ' 'সেড' -এ ব্যবহার করা হয় যেকোনো টেক্সটকে বড় হাতের অক্ষরে রূপান্তর করতে। নিম্নলিখিত `sed` কমান্ড শব্দটি অনুসন্ধান করবে, 'লিনাক্স ' মধ্যে os.txt ফাইল এবং যদি শব্দটি বিদ্যমান থাকে তবে এটি শব্দটিকে সমস্ত বড় হাতের অক্ষর দিয়ে প্রতিস্থাপন করবে।
$বিড়ালos.txt$sed 's / (linux ) / U 1 / Ig'os.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। Os.txt ফাইলের 'লিনাক্স' শব্দটি 'LINUX' শব্দ দ্বারা প্রতিস্থাপিত হয়েছে।
31. কেস সংবেদনশীল মিল খুঁজুন এবং একই পাঠ্যের সমস্ত ছোট হাতের সাথে প্রতিস্থাপন করুন
'দ্য' 'সেড' -এ ব্যবহার করা হয় যেকোনো টেক্সটকে সব ছোট হাতের অক্ষরে রূপান্তর করতে। নিম্নলিখিত `sed` কমান্ড শব্দটি অনুসন্ধান করবে, 'লিনাক্স' মধ্যে os.txt ফাইল এবং সব ছোট হাতের অক্ষর দ্বারা শব্দ প্রতিস্থাপন করুন।
$বিড়ালos.txt$sed 's / (linux ) / L 1 / Ig'os.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। 'লিনাক্স' শব্দটি 'লিনাক্স' শব্দ দ্বারা প্রতিস্থাপিত হয়েছে।
32. পাঠ্যের সমস্ত বড় হাতের অক্ষরকে ছোট হাতের অক্ষর দিয়ে প্রতিস্থাপন করুন
নিম্নলিখিত `sed` কমান্ডটি সমস্ত বড় হাতের অক্ষর অনুসন্ধান করবে os.txt ফাইলগুলি লিখুন এবং ' L' ব্যবহার করে অক্ষরগুলি ছোট হাতের অক্ষর দ্বারা প্রতিস্থাপন করুন।
$বিড়ালos.txt$sed 's/ (।*)/ L 1/'os.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
33. লাইনে নম্বর খুঁজুন এবং এর আগে যেকোনো মুদ্রা চিহ্ন যুক্ত করুন সংখ্যা
নামে একটি ফাইল তৈরি করুন items.txt নিম্নলিখিত বিষয়বস্তু সহ।
items.txt
এইচডিডি 100মনিটর 80
মাউস 10
নিম্নলিখিত `sed` কমান্ডটি প্রতিটি লাইনে নম্বরটি অনুসন্ধান করবে items.txt প্রতিটি নম্বরের আগে মুদ্রা প্রতীক, '$' ফাইল করুন এবং সংযুক্ত করুন।
$বিড়ালitems.txt$sed 's / ([0-9] ) / $ 1 / g'items.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। এখানে প্রতিটি লাইনের সংখ্যার আগে '$' চিহ্ন যুক্ত করা হয়েছে।
34. যে সংখ্যায় 3 টির বেশি সংখ্যা আছে সেগুলিতে কমা যুক্ত করুন
নিম্নলিখিত `sed` কমান্ড` echo` কমান্ড থেকে ইনপুট হিসেবে একটি সংখ্যা নেবে এবং ডান দিক থেকে গণনা করা তিনটি সংখ্যার প্রতিটি গ্রুপের পরে কমা যুক্ত করবে। এখানে, ': a' লেবেল নির্দেশ করে এবং 'ta' গ্রুপিং প্রক্রিয়ার পুনরাবৃত্তি করতে ব্যবহৃত হয়।
$বের করে দিল '5098673' | sed -এবং:প্রতি-এবং 's / (। * [0-9] ) ([0-9] {3 } ) / 1, 2 /; ta'আউটপুট:
5098673 নম্বরটি 'ইকো' কমান্ডে দেওয়া হয়েছে এবং 'সেড' কমান্ডটি তিনটি অঙ্কের প্রতিটি গ্রুপের পরে কমা যোগ করে 5,098,673 নম্বরটি তৈরি করেছে।
35. ট্যাব অক্ষরকে 4 স্পেস অক্ষর দিয়ে প্রতিস্থাপন করে
নিম্নলিখিত `sed` কমান্ডটি প্রতিটি ট্যাব ( t) অক্ষরকে চারটি স্পেস অক্ষর দ্বারা প্রতিস্থাপন করবে। ট্যাব অক্ষরের সাথে মেলাতে 'সেড' কমান্ডে '$' চিহ্ন ব্যবহার করা হয় এবং 'জি' সব ট্যাব অক্ষর প্রতিস্থাপন করতে ব্যবহৃত হয়।
$বের করে দিল -এবং '1। টি2। টি3 ' | sed$'s/ t//g'আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে।
36. ট্যাব অক্ষর দিয়ে পরপর 4 টি স্থান অক্ষর প্রতিস্থাপন করে
নিম্নলিখিত কমান্ডটি ট্যাব ( t) অক্ষর দিয়ে পরপর 4 টি অক্ষর প্রতিস্থাপন করবে।
$বের করে দিল -এবং '1 2' | sed$'s// t/g'আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে।
37. প্রথম লাইনটি 80 অক্ষরে ছোট করুন
নামে একটি টেক্সট ফাইল তৈরি করুন in.txt এই উদাহরণটি পরীক্ষা করার জন্য 80 টিরও বেশি অক্ষর রয়েছে।
in.txt
পিএইচপি একটি সার্ভার-সাইড স্ক্রিপ্টিং ল্যাঙ্গুয়েজ।
পিএইচপি একটি ওপেন সোর্স ভাষা এবং পিএইচপি কেস সংবেদনশীল। পিএইচপি প্ল্যাটফর্ম-স্বাধীন।
নিম্নলিখিত `sed` কমান্ডটি প্রতিটি লাইনকে ছোট করবে in.txt 80 অক্ষরে ফাইল করুন।
$sed 's/ (^। {1,80 } )।*/ 1/'in.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। In.txt ফাইলের দ্বিতীয় লাইনে 80 টিরও বেশি অক্ষর রয়েছে এবং এই লাইনটি আউটপুটে ছোট করা হয়েছে।
38. একটি স্ট্রিং রেজেক্স অনুসন্ধান করুন এবং এর পরে কিছু স্ট্যান্ডার্ড টেক্সট যোগ করুন
নিম্নলিখিত 'sed' কমান্ডটি পাঠ্যটি অনুসন্ধান করবে, ' হ্যালো 'ইনপুট পাঠ্যে এবং পাঠ্য সংযোজন করুন,' জন 'সেই পাঠ্যের পরে।
$বের করে দিল 'হ্যালো, আপনি কেমন আছেন?' | sed 's/ (হ্যালো )/ 1 জন/'আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে।
39. স্ট্রিং রেজেক্সের জন্য অনুসন্ধান করুন এবং প্রতিটি লাইনে দ্বিতীয় ম্যাচের পর কিছু টেক্সট যোগ করুন
নিম্নলিখিত 'sed' কমান্ডটি পাঠ্যটি অনুসন্ধান করবে, ' পিএইচপি 'এর প্রতিটি লাইনে input.txt এবং প্রতিটি লাইনের দ্বিতীয় ম্যাচটিকে পাঠ্য দিয়ে প্রতিস্থাপন করুন, 'নতুন পাঠ্য যোগ করা হয়েছে' ।
$বিড়ালinput.txt$sed 's/ (PHP )/ 1 (নতুন টেক্সট যোগ করা হয়েছে)/2'input.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। অনুসন্ধানের পাঠ্য, ' পিএইচপি 'এর দ্বিতীয় এবং তৃতীয় লাইনে দুইবার প্রদর্শিত হয় input.txt ফাইল সুতরাং, পাঠ্য, ' নতুন টেক্সট যোগ করা হয়েছে 'দ্বিতীয় এবং তৃতীয় লাইনে োকানো হয়েছে।
40. একটি ফাইল থেকে মাল্টি-লাইন `sed` স্ক্রিপ্ট চালানো
একাধিক 'সেড' স্ক্রিপ্ট একটি ফাইলে সংরক্ষণ করা যায় এবং 'সেড' কমান্ড চালানোর মাধ্যমে সব স্ক্রিপ্ট একসাথে চালানো যায়। নামে একটি ফাইল তৈরি করুন 'Sedcmd এবং নিম্নলিখিত সামগ্রী যোগ করুন। এখানে, ফাইলে দুটি `sed` স্ক্রিপ্ট যোগ করা হয়েছে। একটি স্ক্রিপ্ট পাঠ্য প্রতিস্থাপন করবে, ' পিএইচপি ' দ্বারা ‘এএসপি 'আরেকটি স্ক্রিপ্ট পাঠ্য প্রতিস্থাপন করবে,' স্বাধীন 'পাঠ্য দ্বারা,' নির্ভরশীল '।
sedcmd
গুলি/পিএইচপি/এএসপি/গুলি/স্বাধীন/নির্ভরশীল/
নিম্নলিখিত 'sed' কমান্ডটি সমস্ত 'PHP' এবং 'স্বাধীন' পাঠ্যকে 'ASP' এবং 'নির্ভরশীল' দ্বারা প্রতিস্থাপন করবে। এখানে, ফাইল থেকে 'sed' স্ক্রিপ্ট চালানোর জন্য 'sed' কমান্ডে '-f' বিকল্প ব্যবহার করা হয়।
$বিড়ালsedcmd$sed -ফsedcmd input.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
41. একটি মাল্টি-লাইন প্যাটার্ন মিলিয়ে নতুন মাল্টি-লাইন টেক্সট দিয়ে প্রতিস্থাপন করুন
নিম্নলিখিত `sed` কমান্ডটি মাল্টি-লাইন পাঠ্য অনুসন্ধান করবে, 'লিনাক্স nd n অ্যান্ড্রয়েড' এবং যদি প্যাটার্নটি মিলে যায় তবে মিলিং লাইনগুলি বহু-লাইন পাঠ্য দ্বারা প্রতিস্থাপিত হবে, 'উবুন্টু nd n অ্যান্ড্রয়েড ললিপপ '। এখানে, পি এবং ডি মাল্টিলাইন প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়।
$বিড়ালos.txt$sed '$! N; s/Linux nd nAndoid/Ubuntu nAndoid Lollipop/; P; D'os.txt
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
42. একটি প্যাটার্নের সাথে মিলে যাওয়া একটি টেক্সটে দুটি শব্দের ক্রম প্রতিস্থাপন করুন
নিম্নলিখিত `sed` কমান্ড` echo` কমান্ড থেকে দুটি শব্দের ইনপুট নেবে এবং এই শব্দের ক্রম প্রতিস্থাপন করবে।
$বের করে দিল 'পার্ল পাইথন' | sed -এবং 's/ ([^]*)* ([^]*)/ 2 1/'আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে।
43. কমান্ড-লাইন থেকে একাধিক `sed` কমান্ড এক্সিকিউট করুন
কমান্ড লাইন থেকে একাধিক 'sed' স্ক্রিপ্ট চালানোর জন্য 'sed' কমান্ডে '-e' বিকল্পটি ব্যবহার করা হয়। নিম্নলিখিত 'sed' কমান্ডটি 'echo' কমান্ড থেকে ইনপুট হিসেবে একটি টেক্সট গ্রহণ করবে এবং প্রতিস্থাপন করবে উবুন্টু ' দ্বারা ' কুবুন্টু ' এবং ' শত শত ' দ্বারা ' ফেডোরা '।
$বের করে দিল 'উবুন্টু সেন্টোস ডেবিয়ান' | sed -এবং এর/উবুন্টু/কুবুন্টু/; s/Centos/Fedora/'আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। এখানে, 'উবুন্টু' এবং 'সেন্টোস' প্রতিস্থাপিত হয়েছে 'কুবুন্টু' এবং 'ফেডোরা' দ্বারা।
44. অন্যান্য কমান্ডের সাথে `sed` একত্রিত করুন
নিম্নলিখিত কমান্ডটি `sed` কমান্ডকে` cat` কমান্ডের সাথে মিলিত করবে। প্রথম `sed` কমান্ড থেকে ইনপুট নেবে os.txt 'ফেডোরা' দ্বারা টেক্সট 'লিনাক্স' প্রতিস্থাপনের পরে কমান্ডের আউটপুটটি দ্বিতীয় 'সেড' কমান্ডে পাঠান। দ্বিতীয় 'sed' কমান্ড টেক্সটকে প্রতিস্থাপন করবে, 'উইন্ডোজ' কে 'উইন্ডোজ 10' দ্বারা।
$বিড়ালos.txt| sed 's/Linux/Fedora/'| sed 's / windows / Windows 10 / i'আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে।
45. একটি ফাইলে খালি লাইন োকান
নামে একটি ফাইল তৈরি করুন stdlist নিম্নলিখিত বিষয়বস্তু সহ।
stdlist
#আইডি #নাম[101] -কিন্তু
[102] -নেহা
একটি ফাইলে খালি লাইন toোকানোর জন্য 'G' অপশন ব্যবহার করা হয়। নিম্নলিখিত 'sed' কমান্ড প্রতিটি লাইনের পরে খালি লাইন োকাবে stdlist ফাইল
$বিড়ালstdlist$sedG stdlist
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে। ফাইলের প্রতিটি লাইনের পরে একটি খালি লাইন োকানো হয়।
46. একটি ফাইলের প্রতিটি লাইনে সমস্ত আলফা-নিউমেরিক অক্ষর স্থান দ্বারা প্রতিস্থাপন করুন।
নিম্নলিখিত কমান্ডটি সমস্ত আলফা-নিউমেরিক অক্ষরকে স্থান দ্বারা প্রতিস্থাপিত করবে stdlist ফাইল
$বিড়ালstdlist$ কিন্তু 's / [A-Za-z0-9] // g'stdlist
আউটপুট:
উপরের কমান্ডগুলি চালানোর পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।
47. মিলে যাওয়া স্ট্রিং প্রিন্ট করতে '&' ব্যবহার করুন
নিম্নলিখিত কমান্ডটি 'L' দিয়ে শুরু হওয়া শব্দটি অনুসন্ধান করবে এবং যুক্ত করে পাঠ্যটি প্রতিস্থাপন করবে 'মিলিত স্ট্রিং হল - 'এবং' চিহ্ন ব্যবহার করে মিলে যাওয়া শব্দের সাথে। এখানে, পরিবর্তিত পাঠ্য মুদ্রণের জন্য 'p' ব্যবহার করা হয়।
$sed -এন 's/^L/মিলিত স্ট্রিং হল - &/p'os.txtআউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে।
48. একটি ফাইলে জোড়া শব্দ পরিবর্তন করুন
নামে একটি টেক্সট ফাইল তৈরি করুন course.txt নিচের বিষয়বস্তুতে প্রতিটি লাইনে শব্দের জোড়া রয়েছে।
course.txt
পিএইচপি এএসপিমাইএসকিউএল ওরাকল
কোড ইগনিটার লারাভেল
নিম্নলিখিত কমান্ডটি ফাইলের প্রতিটি লাইনে শব্দের জোড়া পরিবর্তন করবে, course.txt ।
$sed 's/ ([^]*)* ([^]*)/ 2 1/'course.txtআউটপুট:
প্রতিটি লাইনে শব্দের জোড়া স্যুইচ করার পর নিচের আউটপুট দেখা যাবে।
49. প্রতিটি শব্দের প্রথম অক্ষরকে বড় করুন
নিম্নলিখিত `sed` কমান্ড` echo` কমান্ড থেকে ইনপুট পাঠ্য গ্রহণ করবে এবং প্রতিটি শব্দের প্রথম অক্ষরকে একটি বড় অক্ষরে রূপান্তর করবে।
$বের করে দিল 'আমি বাশ প্রোগ্রামিং পছন্দ করি' | sed 's / ([a-z] ) [[a-zA-Z0-9] * ) / u 1 2 / g'আউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। ইনপুট টেক্সট, আমি ব্যাশ প্রোগ্রামিং পছন্দ করি প্রথম শব্দটিকে পুঁজি করে ব্যাশ প্রোগ্রামিং পছন্দ করে।
50. ফাইলের লাইন নম্বর প্রিন্ট করুন
একটি ফাইলের প্রতিটি লাইনের আগে লাইন নম্বর প্রিন্ট করার জন্য '=' চিহ্ন ব্যবহার করা হয় 'sed' কমান্ড। নিম্নলিখিত কমান্ড এর বিষয়বস্তু মুদ্রণ করবে os.txt লাইন নম্বর সহ ফাইল।
$sed '='os.txtআউটপুট:
উপরের কমান্ডটি চালানোর পরে নিম্নলিখিত আউটপুটটি উপস্থিত হবে। চারটি লাইন আছে os.txt ফাইল সুতরাং, ফাইলের প্রতিটি লাইনের আগে লাইন নম্বরটি মুদ্রিত হয়।
উপসংহার:
খুব সহজ উদাহরণ ব্যবহার করে এই টিউটোরিয়ালে `sed` কমান্ডের বিভিন্ন ব্যবহার ব্যাখ্যা করা হয়েছে। এখানে উল্লিখিত সমস্ত 'সেড' স্ক্রিপ্টের আউটপুট অস্থায়ীভাবে উৎপন্ন হয় এবং মূল ফাইলের বিষয়বস্তু অপরিবর্তিত থাকে। কিন্তু আপনি চাইলে `sed কমান্ডের –i বা –in-place অপশন ব্যবহার করে মূল ফাইল পরিবর্তন করতে পারেন। আপনি যদি নতুন লিনাক্স ব্যবহারকারী হন এবং বিভিন্ন ধরনের স্ট্রিং ম্যানিপুলেশন কাজ সম্পাদনের জন্য `sed` কমান্ডের মৌলিক ব্যবহার শিখতে চান, তাহলে এই টিউটোরিয়ালটি আপনাকে সাহায্য করবে। এই টিউটোরিয়ালটি পড়ার পর, আশা করি, যেকোন ব্যবহারকারী `sed` কমান্ডের কাজ সম্পর্কে স্পষ্ট ধারণা পাবেন।
সচরাচর জিজ্ঞাস্য
Sed কমান্ড কিসের জন্য ব্যবহৃত হয়?
Sed কমান্ডের বিভিন্ন ব্যবহার রয়েছে। বলা হচ্ছে, প্রধান ব্যবহার হল একটি ফাইলে শব্দ প্রতিস্থাপন করা, অথবা খুঁজে বের করা এবং প্রতিস্থাপন করা।
Sed সম্পর্কে সবচেয়ে বড় বিষয় হল যে আপনি একটি ফাইলে একটি শব্দ অনুসন্ধান করতে পারেন এবং এটিকে প্রতিস্থাপন করতে পারেন, কিন্তু আপনাকে কখনো ফাইলটি খুলতে হবে না - sed শুধু আপনার জন্যই সব করে!
পাশাপাশি এটি, এটি মুছে ফেলার জন্য ব্যবহার করা যেতে পারে। আপনি যে শব্দটি খুঁজে পেতে চান, প্রতিস্থাপন করতে চান বা মুছে ফেলতে চান সেড, এবং এটি আপনার জন্য এটি নিয়ে আসে - তারপর আপনি সেই শব্দটি প্রতিস্থাপন করতে বা আপনার ফাইল থেকে শব্দটির সমস্ত চিহ্ন মুছে ফেলতে পারেন।
sed হল একটি চমত্কার হাতিয়ার যা আইপি অ্যাড্রেস এবং এমন কিছু যা খুব সংবেদনশীল যা আপনি অন্যথায় একটি ফাইলে রাখতে চান না। sed যেকোনো সফটওয়্যার ইঞ্জিনিয়ারের জন্য অবশ্যই জানা উচিত!
Sed কমান্ডে S এবং G কী?
তার সবচেয়ে সহজ শর্তে, এস ফাংশন যা sed এ ব্যবহার করা যেতে পারে তার অর্থ কেবল 'বিকল্প'। S টাইপ করার পর আপনি আপনার ইচ্ছামতো যেকোন কিছু প্রতিস্থাপন বা প্রতিস্থাপন করতে পারেন - শুধু S টাইপ করলেই একটি লাইনে শব্দের প্রথম ঘটনা প্রতিস্থাপন হবে।
অতএব, যদি আপনার একটি বাক্য বা লাইন থাকে যা এটি একাধিকবার উল্লেখ করে, এস ফাংশনটি আদর্শ নয় কারণ এটি শুধুমাত্র প্রথম ঘটনাকে প্রতিস্থাপন করবে। আপনি প্রতি দুটি ঘটনার পাশাপাশি S প্রতিস্থাপনের জন্য একটি প্যাটার্ন নির্দিষ্ট করতে পারেন।
Sed কমান্ডের শেষে G নির্দিষ্ট করলে একটি গ্লোবাল রিপ্লেসমেন্ট হবে (যেটা G- এর জন্য দাঁড়িয়ে আছে)। এটিকে মাথায় রেখে, যদি আপনি G নির্দিষ্ট করেন তবে এটি আপনার নির্বাচিত শব্দের প্রতিটি ঘটনার পরিবর্তে প্রতিস্থাপন করবে, বরং S- এর প্রথম ঘটনার পরিবর্তে।
আমি কিভাবে একটি sed স্ক্রিপ্ট চালাতে পারি?
আপনি বেশ কয়েকটি উপায়ে একটি sed স্ক্রিপ্ট চালাতে পারেন কিন্তু সবচেয়ে সাধারণ কমান্ড লাইনে রয়েছে। এখানে আপনি কেবল সেড এবং যে ফাইলটিতে কমান্ডটি ব্যবহার করতে চান তা নির্দিষ্ট করতে পারেন।
এটি আপনাকে সেই ফাইলটিতে sed ব্যবহার করতে দেয়, যা আপনাকে প্রয়োজন অনুসারে খুঁজে পেতে, মুছতে এবং প্রতিস্থাপন করতে দেয়।
আপনি এটি একটি শেল স্ক্রিপ্টেও ব্যবহার করতে পারেন, এবং এইভাবে আপনি স্ক্রিপ্টে যা চান তা পাস করতে পারেন এবং এটি আপনার জন্য ফাইন্ড এবং রিপ্লেস কমান্ড চালাবে। এটি একটি স্ক্রিপ্টের মধ্যে অত্যন্ত সংবেদনশীল ডেটা নির্দিষ্ট করতে না চাওয়ার জন্য দরকারী, তাই পরিবর্তে, আপনি এটি একটি পরিবর্তনশীল হিসাবে পাস করতে পারেন
মনে রাখবেন যে এটি অবশ্যই কেবল লিনাক্সে উপলব্ধ, এবং তাই আপনার সেড স্ক্রিপ্টটি চালানোর জন্য আপনার একটি লিনাক্স কমান্ড লাইন নিশ্চিত করতে হবে।