সহজে ফিল্টার এবং ফাইলের বিষয়বস্তু প্রদর্শন করতে ব্যবহারিক উদাহরণ সহ grep কমান্ড বোঝা
GREP
'গ্লোবাল রেগুলার এক্সপ্রেশন প্রিন্ট'। এটি একটি দরকারী কমান্ড-লাইন ইউটিলিটি যা লিনাক্স দ্বারা প্রদত্ত, ব্যবহারকারীর দ্বারা প্রদত্ত প্যাটার্নের সাথে মেলে এমন পাঠ্য লাইন অনুসন্ধান করার জন্য।
grep
ব্যবহারকারীর কাছ থেকে স্ট্রিং বা শব্দের আকারে ইনপুট নেয় যা ব্যবহারকারী একটি নির্দিষ্ট ফাইলে অনুসন্ধান করতে চায়। কমান্ডটি তারপর এই প্যাটার্নের জন্য ব্যবহারকারীর দ্বারা নির্দিষ্ট করা ফাইলটি পরীক্ষা করে এবং তারপরে প্রদত্ত প্যাটার্নের সাথে মেলে এমন লাইনগুলি ফেরত দেয়।
এটি একটি ফাইলের বিষয়বস্তু ফিল্টার করার মাধ্যমে একটি চমৎকার কাজ করে যার ফলে একক বা একাধিক ফাইলে একই সাথে নির্দিষ্ট বিষয়বস্তু অনুসন্ধান করা আমাদের কাজকে সহজ করে তোলে।
এই নিবন্ধে, আসুন এর কার্যকারিতা পর্যালোচনা করি grep
বিস্তারিত কিছু বাস্তব উদাহরণ সহ কমান্ড.
সঙ্গে উপলব্ধ বিকল্প grep
আদেশ
এগুলি হল কিছু মৌলিক বিকল্প যা আপনি ঘন ঘন ব্যবহার করবেন grep
আদেশ
বিকল্প | বর্ণনা |
-i | একটি কেস-সংবেদনশীল অনুসন্ধানের জন্য |
-আর | নির্দিষ্ট ডিরেক্টরি এবং এর সাবডিরেক্টরিতে সমস্ত ফাইলের জন্য পুনরাবৃত্তিমূলকভাবে অনুসন্ধান করতে |
-গ | একটি স্ট্রিং প্রদর্শিত মোট সংখ্যা প্রদর্শন করতে |
-v | অ-মেলা লাইন প্রদর্শন করতে |
-w | আলাদাভাবে ব্যবহৃত নির্দিষ্ট শব্দের জন্য ফিল্টার করুন |
ব্যবহার করে grep
আদেশ
grep
কমান্ড সাধারণত পাইপের সাথে ব্যবহার করা হয় (|
) ইউটিলিটি। আপনি যখন অন্য কিছু লিনাক্স কমান্ডের সাথে এটি ব্যবহার করতে চান তখন এটি শেল পাইপের সাথে প্রয়োগ করা যেতে পারে। যদিও, grep
পাইপ ছাড়া পৃথকভাবে ব্যবহার করা যেতে পারে (|
) ইউটিলিটি।
আসুন কিছু মৌলিক সিনট্যাক্স দেখি grep
পাইপ ইউটিলিটি সহ এবং ছাড়া কমান্ড।
আমাকে প্রথমে আপনাকে নমুনা টেক্সট ফাইল দেখাতে দিন যা আমি ব্যাখ্যা করতে ব্যবহার করব grep
আদেশ
ভারত শান্তিপ্রিয় মানুষের একটি সুন্দর দেশ। ভারত আইনসভা, নির্বাহী এবং বিচার বিভাগের তিনটি স্তম্ভের উপর দাঁড়িয়ে আছে। ভারত শান্তিপ্রিয় মানুষের একটি সুন্দর দেশ। ভারত জনগণের যত্ন নেয় কারণ এটির সংস্থান কার্টেসিয়ান স্থানাঙ্ক সমস্ত কার্টেসিয়ান স্থানাঙ্কের গুরুত্ব। নিম্নলিখিত দুটি খালি লাইন আছে. গ্রামে কৃষি কাজের জন্য গরুর গাড়ির ব্যবহার একটি সাধারণ দৃশ্য। এটি নমুনা ফাইলের শেষ।
grep
পাইপের সাথে ব্যবহৃত ( | )ইউটিলিটি
grep
কমান্ড শেল পাইপ ব্যবহার করে অন্যান্য লিনাক্স কমান্ডের সাথে প্রয়োগ করা যেতে পারে। যেমন, ব্যবহার করে বিড়াল
ফাইলের বিষয়বস্তু প্রদর্শন করার জন্য কমান্ড কিন্তু একই সময়ে আউটপুট ব্যবহার করে পাইপ করা grep
আপনি দেখতে চান যে বিষয়বস্তু শুধুমাত্র প্রদর্শন করার জন্য কমান্ড. আমরা উদাহরণের মধ্য দিয়ে গেলে এটি আরও স্পষ্ট হবে।
বাক্য গঠন:
[কমান্ড] | grep [স্ট্রিং]
উদাহরণ:
cat sample.txt | grep আইনসভা
এখানে, আমি ব্যবহার করেছি বিড়াল
'sample.txt' ফাইল থেকে কিছু লাইন প্রদর্শনের জন্য কমান্ড। কেবলমাত্র সেই লাইনগুলি প্রদর্শিত হবে যেগুলিতে 'আইনসভা' শব্দটি রয়েছে এবং বাকি লাইনগুলি উপেক্ষা করুন।
আউটপুট:
gaurav@ubuntu:~/workspace$ cat sample.txt | grep আইনসভা ভারত আইনসভা, নির্বাহী এবং বিচার বিভাগের তিনটি স্তম্ভের উপর দাঁড়িয়ে আছে। gaurav@ubuntu:~/workspace$
grep
পাইপ ছাড়া ব্যবহৃত ( | )ইউটিলিটি
grep
এমনকি পাইপ ব্যবহার না করে সরাসরি একটি পৃথক কমান্ড হিসাবে ব্যবহার করা যেতে পারে ( |
) ইউটিলিটি।
বাক্য গঠন:
grep [string_to_be_searched] [ফাইলের নাম]
উদাহরণ:
grep ভারত sample.txt
আউটপুট:
ভারত শান্তিপ্রিয় মানুষের একটি সুন্দর দেশ। ভারত তার সম্পদ হিসাবে জনগণের যত্ন নেয়
এইভাবে, আমি ব্যবহার করেছি grep
টেক্সট ফাইল 'sample.txt' থেকে 'India' স্ট্রিং ধারণ করে লাইনগুলিকে ফিল্টার করার জন্য সরাসরি কমান্ড দিন।
কেস-সংবেদনশীল অনুসন্ধান ব্যবহার করে grep
আদেশ
যখন আমরা টার্মিনালে কমান্ডগুলি ফায়ার করি তখন লিনাক্স কেস-সংবেদনশীলতার বিষয়ে খুব সতর্ক। এর জন্য ব্যবহারকারীকে কমান্ডে রাখা স্ট্রিংয়ের ক্ষেত্রে সতর্কতা অবলম্বন করতে হবে।
আসুন একটি উদাহরণের মাধ্যমে এটি দেখি।
grep peace sample.txt
এই ক্ষেত্রে, আমরা একটি আউটপুট পাব না কারণ নমুনা ফাইলে 'শান্তি' হিসাবে কোনও শব্দ নেই। আমাদের কাছে 'পিস' শব্দটি একটি মূলধন 'P' সহ রয়েছে। শব্দ একই কিন্তু আমরা যখন ব্যবহার grep
কোনো বিকল্প ছাড়াই কমান্ড, এটি অক্ষরের ক্ষেত্রে কোনো পরিবর্তন উপেক্ষা করে ফাইলে সঠিক মিলের জন্য অনুসন্ধান করে।
এই অস্পষ্টতা এড়াতে, আপনি সহজভাবে ব্যবহার করতে পারেন -i
বিকল্প যা আক্ষরিকভাবে বলে grep
আদেশ "আমি স্ট্রিংটি যে কেসটিতে রেখেছি তা ভুলে যান এবং ফাইলটিতে সমস্ত মিলে যাওয়া নিদর্শনগুলি অনুসন্ধান করুন।"
বাক্য গঠন:
grep -i [স্ট্রিং] [ফাইলের নাম]
উদাহরণ:
grep -i peace sample.txt
আউটপুট:
ভারত শান্তিপ্রিয় মানুষের একটি সুন্দর দেশ। ভারত শান্তিপ্রিয় মানুষের একটি সুন্দর দেশ।
ম্যাচিং স্ট্রিংটি যে ক্ষেত্রেই হোক না কেন সমস্ত মিলে যাওয়া লাইনগুলি প্রদর্শিত হয়।
পুনরাবৃত্ত অনুসন্ধান ব্যবহার করে grep
আদেশ
দ্য -আর
বিকল্পটি একটি ডিরেক্টরির সমস্ত ফাইল এবং এর সমস্ত সাব-ডিরেক্টরি অনুসন্ধান করবে যা কমান্ডে ব্যবহারকারী দ্বারা প্রদত্ত স্ট্রিং প্যাটার্নের সাথে মেলে।
বাক্য গঠন:
grep -i -r [স্ট্রিং] [ফাইল_পথ]
উদাহরণ:
গ্রেপ-আই-আর টমক্যাট/হোম/গৌরব/ওয়ার্কস্পেস
এখানে স্ট্রিংটি হল 'টমক্যাট' এবং এটি ডিরেক্টরি ওয়ার্কস্পেসে অনুসন্ধান করা হবে। 'ওয়ার্কস্পেস' ডিরেক্টরির সমস্ত সাবডিরেক্টরি এবং ফাইলগুলিও প্রদত্ত স্ট্রিং প্যাটার্নের সাথে মেলে স্ক্যান করা হবে।
আউটপুট:
। }, ./context_log.policy:// অনুদান কোডবেস "ফাইল:${catalina.base}/bin/tomcat-juli.jar" {..} ./context_log.policy:grant codeBase "file:${catalina.home }/bin/tomcat-juli.jar" { ./context_log.policy: অনুমতি java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server"; । JARs ./catalina.properties:org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar ./catalina.properties:tomcat.util.buf.StringCache.byte.enabled=true ./catalina tomcat.util.buf.StringCache.char.enabled=true ./catalina.properties:#tomcat.util.buf.StringCache.trainThreshold=500000 ./catalina.properties:#tomcat.util.buf.StringSache=0cache.0cache. /server.xml: pathname="conf/tomcat-users.xml" /> ./server.xml:
বিঃদ্রঃ: ব্যবহার করার সময় -আর
সঙ্গে বিকল্প grep
কমান্ড আমাদের ফাইলের পাথ প্রদান করতে হবে, ফাইলের নাম নয়
শুধুমাত্র সঙ্গে সম্পূর্ণ শব্দ অনুসন্ধান grep
আদেশ
অনেক সময় এমন হয় যে আপনি একটি শব্দের জন্য অনুসন্ধান করছেন কিন্তু আপনি আপনার টার্মিনালটিকে ম্যাচিং লাইন দিয়ে পূরণ করবেন যাতে আপনার মিলিত শব্দ থাকে কিন্তু একটি পৃথক শব্দ হিসাবে নয়। আপনি কিছু শব্দ ধারণ করে এমন লাইনগুলি দেখতে পারেন যার সাবপার্ট হল সেই স্ট্রিং যা আপনি প্রবেশ করেছেন।
এই সঙ্গে বিভ্রান্ত? চিন্তা করবেন না, আপনি উদাহরণটি পেয়ে গেলে এটি বোঝা অনেক সহজ।
উদাহরণ:
এখানে, আমি একটি পৃথক শব্দ 'কার্ট' অনুসন্ধান করতে চাই এবং 'sample.txt' ফাইলে এই শব্দের সাথে মিলে যাওয়া সমস্ত লাইন প্রদর্শন করতে চাই।
grep -i কার্ট sample.txt
আউটপুট:
কার্টেসিয়ান স্থানাঙ্ক সমস্ত কার্টেসিয়ান স্থানাঙ্কের গুরুত্ব। গরুর গাড়ির ব্যবহার গ্রামে কৃষি কাজের জন্য একটি সাধারণ দৃশ্য ছেলেটি আলগা রেখে দেওয়ায় গাড়িটি হারিয়ে গেছে।
আউটপুটে, আপনি লক্ষ্য করতে পারেন যে 'কার্টেসিয়ান' শব্দটিতে 'কার্ট' শব্দটিও রয়েছে এবং তাই, 'কার্টেসিয়ান' শব্দটি সম্বলিত লাইনগুলিও প্রদর্শিত হয় যদিও আমরা সেগুলি প্রদর্শন করতে চাই না।
আপনি ব্যবহার করতে পারেন -w
সঙ্গে বিকল্প grep
এই অস্পষ্টতা সমাধান করার জন্য আদেশ.
বাক্য গঠন:
grep -i -w [স্ট্রিং] [ফাইলের নাম]
উদাহরণ:
grep -i -w cart sample.txt
আউটপুট:
গ্রামে কৃষি কাজের জন্য গরুর গাড়ির ব্যবহার একটি সাধারণ দৃশ্য। ছেলেটি আলগা রেখে যাওয়ায় কার্টটি হারিয়ে গেছে।
এখন, আপনি যখন ব্যবহার করেছেন -w
সঙ্গে বিকল্প grep
আপনি শুধুমাত্র সেই লাইনগুলি পাবেন যেখানে 'কার্ট' শব্দটি সম্পূর্ণরূপে ব্যবহৃত হয়েছে।
ব্যবহার করে উল্টানো অনুসন্ধান grep
আদেশ
grep
কমান্ড একটি বিপরীত ফ্যাশনেও ব্যবহার করা যেতে পারে। আমরা ব্যবহার করতে পারেন grep
মিলিত লাইনগুলিকে লুকিয়ে বিপরীতভাবে কমান্ড করুন এবং শুধুমাত্র সেই লাইনগুলি প্রদর্শন করুন যেখানে মিল পাওয়া যায় না। আপনি ব্যবহার করে এটি করতে পারেন -v
সঙ্গে বিকল্প grep
আদেশ
বাক্য গঠন:
grep -i -v [স্ট্রিং] [ফাইলের নাম]
উদাহরণ:
grep -i -v রিসোর্স sample.txt
আউটপুট:
ভারত শান্তিপ্রিয় মানুষের একটি সুন্দর দেশ। ভারত আইনসভা, নির্বাহী এবং বিচার বিভাগের তিনটি স্তম্ভের উপর দাঁড়িয়ে আছে। ভারত শান্তিপ্রিয় মানুষের একটি সুন্দর দেশ। কার্টেসিয়ান স্থানাঙ্ক সমস্ত তম কার্টেসিয়ান স্থানাঙ্কের গুরুত্ব। গ্রামে কৃষি কাজের জন্য গরুর গাড়ির ব্যবহার একটি সাধারণ দৃশ্য। এটি নমুনা ফাইলের শেষ।
আউটপুটে, 'রিসোর্স' শব্দটি ধারণ করা লাইন ব্যতীত অন্য সমস্ত লাইন প্রদর্শিত হয়।
ম্যাচিং স্ট্রিং এর ঘটনা গণনা
এর আউটপুট grep
কমান্ডটি সাধারণত খুব দীর্ঘ হয় যদি ফাইলের ডেটা বিস্তৃত হয়। যত বেশি ম্যাচ, তত বেশি আউটপুট grep
আদেশ লিনাক্স আপনাকে একটি বিকল্প প্রদান করে যেখানে আপনি ম্যাচের সংঘটনের সংখ্যা প্রদর্শন করতে পারেন।
বাক্য গঠন:
grep -i -c [স্ট্রিং] [ফাইলের নাম]
উদাহরণ:
grep -i -c india sample.txt
আউটপুট:
gaurav@ubuntu:~/workspace$ grep -i -c india sample.txt 4 gaurav@ubuntu:~/workspace$
এখানে, আউটপুট হল একটি সংখ্যা যা sample.txt ফাইলে 'ভারত' শব্দের সংঘটনের সংখ্যা।
বিঃদ্রঃ: আমি ব্যবহার করেছি -i
প্রতিটি উদাহরণে বিকল্প শুধুমাত্র কেস সংবেদনশীলতা সমস্যা সঙ্গে নিরাপদ হতে. আপনি যে শব্দটি অনুসন্ধান করছেন তার ক্ষেত্রে আপনি যদি নিশ্চিত হন, তাহলে আপনি নিরাপদে বাদ দিতে পারেন -i
বিকল্প
উপসংহার
আমরা এর মৌলিক ব্যবহার শিখেছি grep
এই টিউটোরিয়ালে লিনাক্স সিস্টেমের কমান্ড। এছাড়াও আমরা বিভিন্ন বিষয়বস্তু প্রদর্শন করতে শিখেছি যা আমাদের প্রয়োজনীয়তার জন্য সবচেয়ে উপযুক্ত এবং টার্মিনালে অনেক লাইন দিয়ে ভিড় না করে। grep
বড় ডাটা-সেট স্ক্যান করার জন্য ব্যবহার করা হলে কমান্ড অবশ্যই একটি সময়-সংরক্ষক হবে।