15 প্রতিদিনের লিনাক্স সিস্টেম অ্যাডমিনিস্ট্রেশন টাস্কের জন্য দরকারী সেড কমান্ড টিপস এবং কৌশল
প্রতিটি সিস্টেম অ্যাডমিনিস্ট্রেটরকে দৈনিক ভিত্তিতে প্লেইন ফাইলগুলির সাথে ডিল করতে হয়। নির্দিষ্ট বিভাগগুলি কীভাবে দেখতে হবে, কীভাবে শব্দ প্রতিস্থাপন করা যায় এবং কীভাবে সেই ফাইলগুলি থেকে সামগ্রী ফিল্টার করা যায় তা গুগল অনুসন্ধান না করে আপনার দক্ষ হওয়া দরকার are
এই নিবন্ধে আমরা সেড, সুপরিচিত প্রবাহ সম্পাদক এবং পর্যালোচনা করব এবং পূর্বে উল্লিখিত লক্ষ্যগুলি অর্জন করতে এটি ব্যবহারের জন্য 15 টি টিপস এবং আরও অনেক কিছু ভাগ করব।
1. নথির বিভিন্ন রেখা দেখতে
মাথা এবং লেজের মতো সরঞ্জামগুলি আমাদের ফাইলের নীচে বা উপরে দেখতে দেয়। আমাদের যদি মাঝখানে কোনও বিভাগ দেখার প্রয়োজন হয়? নিম্নলিখিত সিড ওয়ান-লাইনার মাইফিল.টিএসটিএসটি থেকে 5 থেকে 10 লাইনগুলি ফেরত পাঠাবে:
# sed -n '5,10p' myfile.txt
২. প্রদত্ত ব্যাপ্তি ব্যতীত সম্পূর্ণ ফাইলটি দেখা হচ্ছে
অন্যদিকে, এটি সম্ভব যে আপনি একটি নির্দিষ্ট ব্যাপ্তি বাদে পুরো ফাইলটি মুদ্রণ করতে চান। 20 থেকে 35 লাইনগুলিকে মাইফিল.টিএসটিএসটি বাদ দিতে, করুন:
# sed '20,35d' myfile.txt
৩. অবিচ্ছিন্ন লাইন এবং রেঞ্জগুলি দেখছে
এটি সম্ভব যে আপনি অবিচ্ছিন্ন রেখাগুলি সেট করতে বা একাধিক ব্যাপ্তিতে আগ্রহী। মাইফাইল.টেক্সট থেকে লাইনগুলি 5-7 এবং 10-13 প্রদর্শন করুন:
# sed -n -e '5,7p' -e '10,13p' myfile.txt
আপনি দেখতে পাচ্ছেন, -e
বিকল্পটি প্রতিটি পরিসরের জন্য একটি প্রদত্ত ক্রিয়া (এই ক্ষেত্রে, মুদ্রণ লাইনগুলি) সম্পাদন করতে দেয়।
4. শব্দ বা অক্ষর প্রতিস্থাপন (মূল বিকল্প)
সংস্করণ
শব্দের প্রতিটি উদাহরণকে মাইফিল.টিএক্সটি <
সহ প্রতিস্থাপন করতে, করুন:
# sed 's/version/story/g' myfile.txt
অতিরিক্ত হিসাবে আপনি অক্ষরের ক্ষেত্রে উপেক্ষা করার জন্য g
এর পরিবর্তে gi
ব্যবহার করে বিবেচনা করতে পারেন:
# sed 's/version/story/gi' myfile.txt
একক স্থানের সাথে একাধিক ফাঁকা স্থান প্রতিস্থাপন করতে, আমরা আইপ রুট শো
এবং একটি পাইপলাইন আউটপুট ব্যবহার করব:
# ip route show | sed 's/ */ /g'
পাইপলাইনটি ছাড়া ও ছাড়া আইপি রুট শো
এর আউটপুট তুলনা করুন:
৫. একটি ব্যাপ্তির ভিতরে শব্দ বা অক্ষর প্রতিস্থাপন
আপনি যদি কেবল একটি রেখার সীমার মধ্যে শব্দগুলি প্রতিস্থাপন করতে আগ্রহী হন (উদাহরণস্বরূপ 30 থেকে 40, উদাহরণস্বরূপ)
# sed '30,40 s/version/story/g' myfile.txt
অবশ্যই, আপনি কোনও ব্যাপ্তির পরিবর্তে এর সংশ্লিষ্ট সংখ্যার মাধ্যমে একটি লাইন নির্দেশ করতে পারেন।
Regular. নিয়মিত এক্সপ্রেশন (উন্নত বিকল্প) ব্যবহার করে - আই
কখনও কখনও কনফিগারেশন ফাইল মন্তব্য সহ লোড করা হয়। যদিও এটি অবশ্যই কার্যকর, আপনি যদি একবার এগুলি এক নজরে দেখতে চান তবে কেবলমাত্র কনফিগারেশনের দিকনির্দেশগুলি প্রদর্শন করা সহায়ক।
অ্যাপাচি কনফিগারেশন ফাইল থেকে খালি লাইনগুলি বা #
দিয়ে শুরু করা সরাতে, করুন:
# sed '/^#\|^$\| *#/d' httpd.conf
ক্যারেট সাইনটি (^#)
নম্বর সাইন অনুসারে একটি রেখার সূচনা নির্দেশ করে, যেখানে ^$
ফাঁকা লাইন উপস্থাপন করে। উল্লম্ব বারগুলি বুলিয়ান অপারেশনগুলি নির্দেশ করে, যেখানে পিছনের স্ল্যাশ উল্লম্ব বারগুলি থেকে বাঁচতে ব্যবহৃত হয়।
এই বিশেষ ক্ষেত্রে, অ্যাপাচি কনফিগারেশন ফাইলের কিছু লাইন শুরুতে # ’s
এর সাথে লাইন রয়েছে, সুতরাং সেইগুলি মুছে ফেলার জন্য * #
ব্যবহৃত হয়।
Regular. নিয়মিত প্রকাশ (উন্নত বিকল্প) ব্যবহার - II
বড় হাতের অক্ষর বা ছোট শব্দের সাথে অন্য একটি শব্দের সাথে শব্দের প্রতিস্থাপন করতে আমরা সেডও ব্যবহার করতে পারি। উদাহরণস্বরূপ, আসুন মাইফাইল.txt এ রার দিয়ে জিপ বা জিপ শব্দটি প্রতিস্থাপন করুন:
# sed 's/[Zz]ip/rar/g' myfile.txt
8. প্রদত্ত প্যাটার্নযুক্ত লাইনগুলি দেখুন
সেডের আরেকটি ব্যবহার একটি নিয়মিত প্রকাশের সাথে মেলে এমন কোনও ফাইলের লাইনগুলি মুদ্রণ করে। উদাহরণস্বরূপ, আমরা 2 শে জুলাই সেন্টোস 7 সার্ভারে/var/লগ/সুরক্ষিত লগ অনুসারে অনুমোদন ও প্রমাণীকরণ ক্রিয়াকলাপগুলি দেখতে আগ্রহী হতে পারি।
এই ক্ষেত্রে, অনুসন্ধানের প্যাটার্নটি প্রতিটি লাইনের শুরুতে ২ জুলাই:
# sed -n '/^Jul 1/ p' /var/log/secure
9. ফাইলগুলিতে স্পেস .োকানো
সেডের সাহায্যে আমরা একটি ফাইলের প্রতিটি খালি লাইনের জন্য স্পেস (ফাঁকা লাইন) inোকাতে পারি। সরল পাঠ্য ফাইল, LICENSE- এ অন্য প্রতিটি লাইন একটি ফাঁকা রেখা প্রবেশ করানোর জন্য এটি করুন:
# sed G myfile.txt
দুটি ফাঁকা লাইন sertোকাতে, করুন:
# sed 'G;G' myfile.txt
আপনি যদি আরও ফাঁকা লাইন যুক্ত করতে চান তবে একটি সেমিকোলন দ্বারা পৃথক করা একটি বড় বড় জুড়ুন। নিম্নলিখিত চিত্রটি এই টিপটিতে বর্ণিত উদাহরণটির বর্ণনা দেয়:
আপনি যদি কোনও বৃহত কনফিগারেশন ফাইল পরিদর্শন করতে চান তবে এই টিপটি কার্যকর হতে পারে। প্রতিটি অন্যান্য লাইনে একটি ফাঁকা স্থান সন্নিবেশ করা এবং আউটপুট কম পাইপ করার ফলে আরও বন্ধুত্বপূর্ণ পড়ার অভিজ্ঞতা হবে।
10. ইনলাইন সম্পাদনা সহ ডস 2 ইউনিক্স অনুকরণ করা
ডস 2 ইউনিক্স প্রোগ্রাম উইন্ডোজ/ম্যাক ফর্ম্যাটিং থেকে প্লেইন টেক্সট ফাইলগুলিকে ইউনিক্স/লিনাক্সে রূপান্তর করে, সেই প্ল্যাটফর্মগুলিতে ব্যবহৃত কিছু পাঠ্য সম্পাদক দ্বারা সন্নিবেশিত লুকানো নিউলাইন অক্ষরগুলি সরিয়ে দেয়। যদি এটি আপনার লিনাক্স সিস্টেমে ইনস্টল না করা থাকে তবে আপনি এটি ইনস্টল করার পরিবর্তে সেডের সাথে এর কার্যকারিতা নকল করতে পারেন।
বাম দিকের চিত্রটিতে আমরা বেশ কয়েকটি ডস নিউলাইন বর্ণগুলি (^এম)
দেখতে পাচ্ছি, যা পরে এটির সাথে সরানো হয়েছিল:
# sed -i 's/\r//' myfile.txt
দয়া করে মনে রাখবেন যে -i
বিকল্পটি স্থানটিতে সম্পাদনা নির্দেশ করে। তারপরে পরিবর্তনগুলি স্ক্রিনে ফিরে আসবে না, তবে ফাইলে সংরক্ষণ করা হবে।
দ্রষ্টব্য: আপনি Ctrl + V
এবং Ctrl + M
দিয়ে ভিএম সম্পাদকে একটি ফাইল সম্পাদনা করার সময় ডস নিউলাইন অক্ষরগুলি সন্নিবেশ করতে পারেন।
১১. স্থানের সম্পাদনা এবং আসল ফাইলটির ব্যাক আপ
আগের টিপটিতে আমরা একটি ফাইল সংশোধন করার জন্য সেড ব্যবহার করেছি তবে আসল ফাইলটি সংরক্ষণ করি নি। কখনও কখনও আসল ফাইলটির ব্যাকআপ অনুলিপিটি সংরক্ষণ করা ভাল ধারণা।
এটি করতে, মূল ফাইলটির নাম পরিবর্তন করতে -i
বিকল্পটি (একক উদ্ধৃতিগুলির অভ্যন্তরে) অনুসরণ করে একটি প্রত্যয়টি নির্দেশ করুন।
নিম্নলিখিত উদাহরণে আমরা এই বা এটির (সমস্ত ক্ষেত্রে উপেক্ষা) এর সমস্ত দৃষ্টান্ত myfile.txt এর সাথে প্রতিস্থাপন করব এবং আমরা আসল ফাইলটি মাইফাইল.txt.orig হিসাবে সংরক্ষণ করব।
শেষ পর্যন্ত, আমরা উভয় ফাইলের মধ্যে পার্থক্য সনাক্ত করতে পৃথক ইউটিলিটি ব্যবহার করব:
# sed -i'.orig' 's/this/that/gi' myfile.txt
12. শব্দের জোড়া স্যুইচিং
আসুন ধরা যাক আপনার প্রথম নাম, শেষ নাম ফরম্যাটে পুরো নাম সম্বলিত একটি ফাইল রয়েছে। পর্যাপ্ত পরিমাণে ফাইলটি প্রক্রিয়া করার জন্য, আপনি শেষ নাম এবং প্রথম নামটি স্যুইচ করতে চাইতে পারেন।
মোটামুটি সহজেই আমরা সেড দিয়ে এটি করতে পারি:
# sed 's/^\(.*\),\(.*\)$/\, /g' names.txt
উপরের চিত্রটিতে আমরা দেখতে পেলাম যে প্রথম বন্ধনী, বিশেষ অক্ষর হওয়ায়, পালানো দরকার, যেমন 1 এবং 2 সংখ্যাটি রয়েছে।
এই সংখ্যাগুলি হাইলাইট হওয়া নিয়মিত এক্সপ্রেশনগুলি উপস্থাপন করে (যা বন্ধনীগুলির অভ্যন্তরে উপস্থিত হওয়া প্রয়োজন):
- 1 কমা পর্যন্ত প্রতিটি লাইনের সূচনা উপস্থাপন করে
- 2 হ'ল লাইনের শেষে কমাতে ডান হওয়া প্রতিটি কিছুর জন্য একটি স্থানধারক
পছন্দসই আউটপুটটি সেকেন্ড কলাম (শেষ নাম) + কমা + স্পেস + ফার্স্ট কলাম (প্রথম নাম) ফর্ম্যাটে নির্দেশিত। আপনার ইচ্ছামত এটিকে নির্দ্বিধায় পরিবর্তন করুন।
13. পৃথক মিল পাওয়া গেলে কেবল শব্দগুলির প্রতিস্থাপন
কখনও কখনও কোনও প্রদত্ত শব্দের সমস্ত উদাহরণ বা একটি এলোমেলো কয়েকটি প্রতিস্থাপন করা আমাদের যা প্রয়োজন ঠিক তা হয় না। একটি আলাদা ম্যাচ পাওয়া গেলে সম্ভবত আমাদের প্রতিস্থাপনটি সম্পাদন করা দরকার।
উদাহরণস্বরূপ, আমরা শব্দটি পরিষেবাগুলি একই লাইনে পাওয়া গেলে কেবল স্টপ দিয়ে শুরুটি প্রতিস্থাপন করতে পারি। সেই দৃশ্যে, এখানে কী ঘটবে তা এখানে:
We need to start partying at work, but let’s remember to start all services first.
প্রথম লাইনে, স্টপটি স্টপ দিয়ে প্রতিস্থাপন করা হবে না কারণ দ্বিতীয় লাইনের বিপরীতে শব্দ পরিষেবাগুলি সেই লাইনে উপস্থিত হয় না।
# sed '/services/ s/start/stop/g' msg.txt
14. একবারে দুটি বা ততোধিক বিকল্প প্রয়োগ করা
আপনি দুটি বা ততোধিক বিকল্পগুলি একটি একক সেড কমান্ড একত্রিত করতে পারেন। আসুন এবং myfile.txt এর যে শব্দগুলি এবং রেখাকে যথাক্রমে এটি এবং শ্লোকে প্রতিস্থাপন করি।
একটি সাধারণ সেড সাবস্টিটিউশন কমান্ডের পরে একটি সেমিকোলন এবং দ্বিতীয় প্রতিস্থাপন আদেশ ব্যবহার করে এটি কীভাবে করা যায় তা দ্রষ্টব্য:
# sed -i 's/that/this/gi;s/line/verse/gi' myfile.txt
এই টিপটি নিম্নলিখিত চিত্রটিতে চিত্রিত হয়েছে:
15. সেড এবং অন্যান্য কমান্ডের সংমিশ্রণ
অবশ্যই, আরও শক্তিশালী কমান্ড তৈরি করার জন্য সেডকে অন্যান্য সরঞ্জামের সাথে একত্রিত করা যেতে পারে। উদাহরণস্বরূপ, টিআইপি # 4 এ দেওয়া উদাহরণটি ব্যবহার করুন এবং আইপ রুট
কমান্ডের আউটপুট থেকে আমাদের আইপি ঠিকানাটি বের করুন।
আমরা কেবল সেই লাইন মুদ্রণ করেই শুরু করব যেখানে src
শব্দটি রয়েছে। তারপরে আমরা একাধিক স্পেসকে একটিতে রূপান্তর করব। অবশেষে, আমরা 9 ম ক্ষেত্রটি কাটা করব (একক স্থানকে ক্ষেত্র বিভাজক হিসাবে বিবেচনা করে), যেখানে আইপি ঠিকানাটি রয়েছে:
# ip route show | sed -n '/src/p' | sed -e 's/ */ /g' | cut -d' ' -f9
উপরের চিত্রটি উপরের কমান্ডের প্রতিটি পদক্ষেপ চিত্রিত করে:
সারসংক্ষেপ
এই গাইডটিতে আমরা আপনার প্রতিদিনের সিস্টেম প্রশাসনের কাজগুলিতে আপনাকে সহায়তা করার জন্য 15 টি সেড টিপস এবং কৌশল ভাগ করেছি। আপনি নিয়মিত ভিত্তিতে ব্যবহার করেন এবং আমাদের এবং সম্প্রদায়ের বাকী অংশের সাথে ভাগ করে নিতে চান এমন অন্য কোনও টিপ রয়েছে কি?
যদি তা হয় তবে নিচে নির্দ্বিধায় আমাদের নীচের মন্তব্য ফর্মটি ব্যবহার করে জানান। প্রশ্ন এবং মন্তব্যগুলিও স্বাগত - আমরা আপনার কাছ থেকে শ্রবণ প্রত্যাশায়!