লিনাক্সে গ্রেপ কমান্ড

Grep Command Linux



Grep (গ্লোবাল রেগুলার এক্সপ্রেশন প্রিন্ট) কমান্ড হল সবচেয়ে শক্তিশালী এবং নিয়মিত ব্যবহৃত লিনাক্স কমান্ড-লাইন ইউটিলিটি। Grep ব্যবহার করে, আপনি একটি অনুসন্ধান মানদণ্ড নির্দিষ্ট করে দরকারী তথ্যের জন্য অনুসন্ধান করতে পারেন। এটি একটি নির্দিষ্ট ফাইলে একটি বিশেষ এক্সপ্রেশন প্যাটার্ন অনুসন্ধান করে। যখন এটি একটি মিল খুঁজে পায়, এটি একটি ফাইলের সমস্ত লাইন প্রিন্ট করে যা নির্দিষ্ট প্যাটার্নের সাথে মিলে যায়। যখন আপনি বড় লগ ফাইলগুলির মাধ্যমে ফিল্টার করতে পারেন তখন এটি কাজে আসে।

এই নিবন্ধে, আমরা বিভিন্ন উদাহরণ সহ grep ইউটিলিটি ব্যবহার ব্যাখ্যা করব। আমরা এই নিবন্ধে উল্লিখিত কমান্ড এবং পদ্ধতি ব্যাখ্যা করার জন্য ডেবিয়ান 10 ব্যবহার করব।







Grep ইনস্টল করা হচ্ছে

Grep বেশিরভাগ লিনাক্স বিতরণে ইনস্টল করা হয়। তবে যদি এটি আপনার সিস্টেমে অনুপস্থিত থাকে তবে আপনি টার্মিনালে নিম্নলিখিত পদ্ধতি ব্যবহার করে এটি ইনস্টল করতে পারেন:



$sudo apt-get install খপ্পর

Grep ব্যবহার করে

এখানে grep কমান্ডের প্রাথমিক সিনট্যাক্স। এটি grep দিয়ে শুরু হয় কিছু বিকল্প এবং অনুসন্ধানের মানদণ্ড দ্বারা এবং তারপর ফাইলের নাম দিয়ে শেষ হয়।



$খপ্পর [বিকল্প]প্যাটার্ন[ফাইল ...]

ফাইল অনুসন্ধান করুন

একটি নির্দিষ্ট স্ট্রিং ধারণকারী একটি ডিরেক্টরিতে একটি ফাইলের নাম অনুসন্ধান করতে, আপনি নিম্নলিখিত উপায়ে grep ব্যবহার করতে পারেন:





$ls -দ্য | খপ্পর -আইস্ট্রিং

উদাহরণস্বরূপ, একটি স্ট্রিং ধারণকারী একটি ফাইলের নাম অনুসন্ধান করতে পরীক্ষা , কমান্ড হবে:

$ls-দ্য| খপ্পর–Iপরীক্ষা

এই কমান্ডটি স্ট্রিং ধারণকারী সমস্ত ফাইল তালিকাভুক্ত করে পরীক্ষা



একটি ফাইলে একটি স্ট্রিং অনুসন্ধান করুন

একটি নির্দিষ্ট ফাইলে একটি স্ট্রিং অনুসন্ধান করতে, আপনি নিম্নলিখিত কমান্ড সিনট্যাক্স ব্যবহার করতে পারেন:

$খপ্পরস্ট্রিং ফাইলের নাম

উদাহরণস্বরূপ, একটি স্ট্রিং অনুসন্ধান করতে পরীক্ষা নামের একটি ফাইলে testfile 1 , আমরা নিম্নলিখিত কমান্ড ব্যবহার করেছি :

$খপ্পরকর্মী testfile1

উপরের আউটপুটটি থেকে বাক্যটি ফেরত দিয়েছে testfile 1 যে স্ট্রিং ধারণ করে কর্মচারী

একাধিক ফাইলে একটি স্ট্রিং অনুসন্ধান করুন

একাধিক ফাইলে একটি স্ট্রিং অনুসন্ধান করতে, আপনি নিম্নলিখিত কমান্ড সিনট্যাক্স ব্যবহার করতে পারেন:

$খপ্পরস্ট্রিং ফাইলের নাম 1 ফাইলের নাম 2

উদাহরণস্বরূপ, আমাদের দুটি ফাইল testfile1 এবং testfile2 এ একজন স্ট্রিং কর্মচারী অনুসন্ধান করতে, আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করেছি:

$খপ্পরকর্মচারী testfile1 testfile2

উপরের কমান্ডটি সমস্ত লাইনগুলি তালিকাভুক্ত করবে যা উভয় ফাইল testfile1 এবং testfile2 থেকে স্ট্রিং কর্মচারী ধারণ করে।

যদি সমস্ত ফাইলের নাম একই পাঠ্য দিয়ে শুরু হয় তবে আপনি একটি ওয়াইল্ডকার্ড অক্ষরও ব্যবহার করতে পারেন।

$খপ্পরস্ট্রিং ফাইলের নাম*

যেমন, যদি আমরা উপরের উদাহরণটি গ্রহণ করি যেখানে আমাদের ফাইলের নাম ছিল testfile1 এবং testfile2 , কমান্ড হবে:

$খপ্পরকর্মচারী টেস্ট ফাইল*

স্ট্রিংয়ের ক্ষেত্রে উপেক্ষা করে একটি ফাইলে একটি স্ট্রিং অনুসন্ধান করুন

প্রায়শই, আপনি সম্মুখীন হয়েছেন যে যখন আপনি grep ব্যবহার করে কিছু অনুসন্ধান করেন কিন্তু আউটপুট পান না। একটি স্ট্রিং অনুসন্ধান করার সময় একটি কেস অসামঞ্জস্যের কারণে এটি ঘটে। আমাদের উদাহরণের মতো, যদি আমরা ভুলভাবে ব্যবহার করি কর্মচারী পরিবর্তে কর্মচারী , এটি শূন্য ফিরে আসবে কারণ আমাদের ফাইলে স্ট্রিং রয়েছে কর্মচারী ছোট হাতের অক্ষরে।

আপনি grep কে grep এর পর flagi পতাকা ব্যবহার করে সার্চ স্ট্রিং কে উপেক্ষা করতে বলতে পারেন:

$খপ্পরStringi স্ট্রিং ফাইলের নাম

Flagi পতাকা ব্যবহার করে, কমান্ডটি কেস ইনসেনসিটিভ সার্চ করবে এবং স্ট্রিং ধারণকারী সকল লাইন ফিরিয়ে দেবে কর্মচারী এটি বিবেচনায় না নিয়ে অক্ষরগুলি বড় হাতের বা ছোট হাতের।

রেগুলার এক্সপ্রেশন ব্যবহার করে সার্চ করুন

যথাযথভাবে ব্যবহার করা হলে, নিয়মিত অভিব্যক্তি grep- এ একটি খুব কার্যকর বৈশিষ্ট্য। Grep কমান্ডের সাহায্যে, আপনি একটি শুরু এবং একটি শেষ কীওয়ার্ড দিয়ে একটি নিয়মিত অভিব্যক্তি সংজ্ঞায়িত করতে পারেন। এটি করার মাধ্যমে, আপনাকে grep কমান্ড দিয়ে পুরো লাইন টাইপ করতে হবে না। এই উদ্দেশ্যে নিম্নলিখিত সিনট্যাক্স ব্যবহার করা যেতে পারে।

$খপ্পরশুরু কীওয়ার্ড।*শেষ কীওয়ার্ড ফাইলের নাম

উদাহরণস্বরূপ, testfile1 নামে একটি ফাইলে একটি লাইন অনুসন্ধান করতে যা এই স্ট্রিং দিয়ে শুরু হয় এবং স্ট্রিং ডেটা দিয়ে শেষ হয়, আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করেছি:

$খপ্পরএই.*ডেটা টেস্ট ফাইল 1

এটি থেকে পুরো লাইন মুদ্রণ করবে testfile 1 অভিব্যক্তি ধারণকারী (এই কীওয়ার্ড শুরু এবং শেষ কীওয়ার্ড ডেটা)।

সার্চ স্ট্রিং এর পরে/আগে নির্দিষ্ট সংখ্যক লাইন প্রিন্ট করুন

আপনি একটি স্ট্রিং মিলের আগে/পরে মিলে যাওয়া স্ট্রিংয়ের সাথে/পরে একটি ফাইলের নির্দিষ্ট সংখ্যক লাইন প্রদর্শন করতে পারেন। এই উদ্দেশ্যে নিম্নলিখিত সিনট্যাক্স ব্যবহার করা যেতে পারে:

$খপ্পর -প্রতি <এন>স্ট্রিং ফাইলের নাম

মিলে যাওয়া স্ট্রিং সহ নির্দিষ্ট ফাইলে স্ট্রিং মিলে যাওয়ার পরে এটি N নম্বর লাইন প্রদর্শন করবে।

উদাহরণস্বরূপ, এটি আমাদের নমুনা ফাইল নামে testfile 2

নিচের কমান্ডটি স্ট্রিংযুক্ত মিলিত লাইন আউটপুট করবে কর্মচারী , তার পরে 2 লাইন সহ।

$খপ্পর-প্রতি2Employeei কর্মচারী testfile2

একইভাবে, একটি নির্দিষ্ট ফাইলে মিলে যাওয়া স্ট্রিংয়ের আগে N নম্বর লাইন প্রদর্শন করতে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:

$খপ্পর -বি <এন>স্ট্রিং ফাইলের নাম

একটি নির্দিষ্ট ফাইলে স্ট্রিংয়ের চারপাশে N সংখ্যক লাইন প্রদর্শন করতে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:

$খপ্পর -সি <এন>স্ট্রিং ফাইলের নাম

অনুসন্ধান হাইলাইট করা

Grep ডিফল্ট প্রিন্ট মিলে যাওয়া লাইন কিন্তু লাইনের কোন অংশ মিলেছে তা দেখায় না। আপনি যদি grep এর সাথে optioncolor বিকল্পটি ব্যবহার করেন, তাহলে এটি দেখাবে যে আপনার ফাইলে মেশিন স্ট্রিংগুলি কোথায় প্রদর্শিত হবে। Grep ডিফল্টভাবে হাইলাইট করার জন্য লাল রঙ ব্যবহার করে।

এই উদ্দেশ্যে নিম্নলিখিত সিনট্যাক্স ব্যবহার করা যেতে পারে:

$খপ্পরস্ট্রিং ফাইলের নাম-রঙ

ম্যাচের সংখ্যা গণনা

যদি আপনি নির্দিষ্ট ফাইলে একটি নির্দিষ্ট শব্দ কতবার প্রদর্শিত হয় তা গণনা করতে চান, আপনি –c বিকল্প সহ grep ব্যবহার করতে পারেন। এটি ম্যাচের পরিবর্তে শুধুমাত্র ম্যাচের সংখ্যা প্রদান করে। এই উদ্দেশ্যে নিম্নলিখিত সিনট্যাক্স ব্যবহার করা যেতে পারে:

$খপ্পরString সি স্ট্রিং ফাইলের নাম

এটি আমাদের নমুনা ফাইলটি দেখতে এইরকম:

নিম্নলিখিত একটি কমান্ডের একটি উদাহরণ যা শব্দটি বার বার ফিরে এসেছে ফাইল নামের একটি ফাইলে হাজির testfile 3

উল্টানো অনুসন্ধান

কখনও কখনও, আপনি একটি বিপরীত অনুসন্ধান করতে চান যা ইনপুট মিলে যাওয়া ছাড়া সমস্ত লাইন প্রদর্শন করে। এটি করার জন্য, কেবল flagv পতাকাটি ব্যবহার করুন যার পরে grep:

$খপ্পরStringv স্ট্রিং ফাইলের নাম

উদাহরণস্বরূপ, একটি ফাইলে সমস্ত লাইন প্রদর্শন করা testfile 3 যার মধ্যে অ্যাকাউন্ট শব্দটি নেই, আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করেছি:

$খপ্পরAccountv অ্যাকাউন্ট testfile3

অন্যান্য কমান্ডের সাথে Grep ব্যবহার করা

বিভিন্ন কমান্ড আউটপুট থেকে প্রয়োজনীয় ফলাফল ফিল্টার করার জন্য Grep ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, থেকে উপযুক্ত - ইনস্টল করা তালিকা কমান্ড আউটপুট, আপনি কেবল স্বয়ংক্রিয়ভাবে ইনস্টল করা প্যাকেজগুলি খুঁজে পেতে চান, আপনি grep ব্যবহার করে ফলাফলটি ফিল্টার করতে পারেন:

$উপযুক্ত-ইনস্টল করাতালিকা| খপ্পরস্বয়ংক্রিয়

একইভাবে, lscpu CPU সম্পর্কে বিস্তারিত তথ্য প্রদান করে। আপনি যদি সিপিইউ আর্কিটেকচার সম্পর্কিত তথ্যে আগ্রহী হন তবে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে এটি ফিল্টার করতে পারেন:

$lscpu| খপ্পরস্থাপত্য

এই নিবন্ধে, আমরা কিছু উদাহরণ বর্ণনা করেছি যা আপনাকে গ্রেপ কমান্ড এবং বিভিন্ন পরিস্থিতিতে এর ব্যবহার বুঝতে সাহায্য করবে। Grep কমান্ডের উপর দৃ g় দৃ Having়তা থাকলে অনেক সময় বাঁচতে পারে যদি আপনার বড় কনফিগারেশন বা লগ ফাইলগুলি দেখতে এবং তাদের মাধ্যমে দরকারী তথ্য স্কিম করার প্রয়োজন হয়।