লিনাক্স গ্রেপ কমান্ডের 12 ব্যবহারিক উদাহরণ


আপনি কি কোনও ফাইলের কোনও নির্দিষ্ট স্ট্রিং বা প্যাটার্ন সন্ধানের কাজটির সাথে মুখোমুখি হয়ে গেছেন, তবুও কোথায় সন্ধান শুরু করবেন তা জানেন না? ঠিক আছে, তবে এখানে গ্রেপ্তার উদ্ধার!

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

$ sudo apt-get install grep         #Debian/Ubuntu
$ sudo yum install grep             #RHEL/CentOS/Fedora

আমি খুঁজে পেয়েছি যে গ্রেপ দিয়ে আপনার পা ভিজে যাওয়ার সবচেয়ে সহজ উপায় হ'ল ডুব দেওয়া এবং কিছু বাস্তব বিশ্বের উদাহরণ ব্যবহার করা।

1. ফাইল অনুসন্ধান এবং অনুসন্ধান করুন

ধরা যাক যে আপনি আপনার মেশিনে নতুন উবুন্টুর একটি নতুন কপি ইনস্টল করেছেন এবং আপনি পাইথন স্ক্রিপ্টিংকে একটি শট দিতে চলেছেন। আপনি ওয়েব টিউটোরিয়াল সন্ধান করছেন, কিন্তু আপনি দেখতে পাচ্ছেন যে পাইথনের দুটি পৃথক সংস্করণ ব্যবহার করা আছে এবং আপনি জানেন না যে উবুন্টু ইনস্টলার দ্বারা আপনার সিস্টেমে কোনটি ইনস্টল করা হয়েছিল, অথবা এটি কোনও মডিউল ইনস্টল করেছে কিনা। কেবল এই আদেশটি চালান:

# dpkg -l | grep -i python
ii  python2.7                        2.7.3-0ubuntu3.4                    Interactive high-level object-oriented language (version 2.7)
ii  python2.7-minimal                2.7.3-0ubuntu3.4                    Minimal subset of the Python language (version 2.7)
ii  python-openssl                   0.12-1ubuntu2.1                     Python wrapper around the OpenSSL library
ii  python-pam                       0.4.2-12.2ubuntu4                   A Python interface to the PAM library

প্রথমত, আমরা dpkg ranl চালিয়েছিলাম, যা আপনার সিস্টেমে * .deb প্যাকেজ ইনস্টল করে। দ্বিতীয়ত, আমরা আউটপুটটি গ্রেপ-পাইথনে পাইপ দিয়েছিলাম, যা সরল রাজ্যগুলিতে "গ্রেপ এ গিয়ে ফিল্টার আউট করে সবকিছুকে" পাইথন "দিয়ে ফিরিয়ে দেয়” " Optioni বিকল্পটি গ্রাহক কেস-সংবেদনশীল হওয়ার কারণে উপেক্ষা করার ক্ষেত্রে রয়েছে to আইআই বিকল্পটি ব্যবহার করা আপনার প্রবেশের একটি ভাল অভ্যাস, যদি না আপনি অবশ্যই আরও সুনির্দিষ্ট অনুসন্ধানের জন্য চেষ্টা করছেন।

2. অনুসন্ধান এবং ফিল্টার ফাইল

গ্রেপ পৃথক ফাইল বা একাধিক ফাইলের মধ্যে অনুসন্ধান এবং ফিল্টার করতেও ব্যবহার করা যেতে পারে। এই দৃশ্যটি ধরুন:

আপনার অ্যাপাচি ওয়েব সার্ভারটি নিয়ে আপনার কিছুটা সমস্যা হচ্ছে এবং আপনি কিছু সাহায্য চেয়ে নেটে নেট থেকে শুরু করে এমন অনেক দুর্দান্ত ফোরামের একটিতে পৌঁছে গেছেন। যে সদয় আত্মা আপনাকে জবাব দেয় সে আপনাকে আপনার/ইত্যাদি/অ্যাপাচি 2/সাইটগুলি উপলব্ধ/ডিফল্ট-এসএসএল ফাইলের বিষয়বস্তু পোস্ট করতে বলেছে। আপনি মন্তব্য করা সমস্ত লাইন মুছে ফেলতে পারলে, যে লোকটি আপনাকে সহায়তা করছে এবং যে কেউ এটি পড়ছে তাদের পক্ষে কি আপনার পক্ষে সহজ হবে না? আচ্ছা আপনি পারেন! শুধু এটি চালান:

# grep –v “#”  /etc/apache2/sites-available/default-ssl

Optionv বিকল্পটি গ্রেপকে তার আউটপুটটি উল্টাতে বলেছে, যার অর্থ মিলছে লাইনগুলি মুদ্রণের পরিবর্তে, বিপরীতে করুন এবং সমস্ত লাইন মুদ্রণ করুন যা অভিব্যক্তির সাথে মেলে না, এই ক্ষেত্রে, # মন্তব্য করা লাইনগুলি।

3. সমস্ত .mp3 ফাইল কেবল অনুসন্ধান করুন

স্টাডাউট থেকে ফিল্টারিংয়ের জন্য গ্রেপ খুব কার্যকর হতে পারে। উদাহরণস্বরূপ, ধরা যাক যে আপনার কাছে পুরো ফোল্ডারটিতে বিভিন্ন ফর্ম্যাটের একটি গোছায় মিউজিক ফাইলগুলি পূর্ণ। আপনি শিল্পী জেজেডের কাছ থেকে সমস্ত * .mp3 ফাইল অনুসন্ধান করতে চান, তবে আপনি কোনও রিমিক্সড ট্র্যাক চান না। কয়েকটি গ্রেপ পাইপের সাথে একটি ফাইন্ড কমান্ড ব্যবহার করা কৌশলটি করবে:

# find . –name “*.mp3” | grep –i JayZ | grep –vi “remix”

এই উদাহরণস্বরূপ, আমরা * .mp3 এক্সটেনশান সহ সমস্ত ফাইল মুদ্রণ করতে, গ্রাইপ –i তে পাইপ করে সমস্ত ফাইল "জেজেড" নাম দিয়ে মুদ্রণ করতে এবং তারপরে গ্রেপ -আইভিতে অন্য পাইপটি ফিল্টার করে যা ব্যবহার করি আউট এবং স্ট্রিং (যে কোনও ক্ষেত্রে) "রিমিক্স" দিয়ে সমস্ত ফাইলের নাম মুদ্রণ করে না।

4. অনুসন্ধানের স্ট্রিংয়ের আগে বা পরে লাইনের সংখ্যা প্রদর্শন করুন

অপর একটি বিকল্প দুটি হ'ল –এ এবং – বি সুইচগুলি, যা অনুসন্ধানের স্ট্রিংয়ের আগে বা পরে আসা ম্যাচের লাইন এবং লাইনগুলির সংখ্যা প্রদর্শন করে। ম্যান পৃষ্ঠাটি আরও বিশদ ব্যাখ্যা দিলে, আমি –A = পরে এবং –বি = এর আগে বিকল্পগুলি মনে রাখা সবচেয়ে সহজ বলে মনে করি:

# ifconfig | grep –A 4 eth0
# ifconfig | grep  -B 2 UP

৫. ম্যাচের চারপাশে লাইনের সংখ্যা মুদ্রণ করে

গ্রেপের – সি বিকল্পটি একই রকম, তবে স্ট্রিংয়ের আগে বা পরে যে লাইনগুলি আসে তা মুদ্রণের পরিবর্তে এটি উভয় দিকেই লাইনগুলি মুদ্রণ করে:

# ifconfig | grep –C 2 lo

6. ম্যাচের সংখ্যা গণনা করুন

ওয়ার্ড কাউন্ট (ডাব্লুসি প্রোগ্রাম) এর গ্রেপ স্ট্রিংয়ের পাইপের অনুরূপ গ্রেপের অন্তর্নির্মিত বিকল্পটি আপনার জন্য এটি সম্পাদন করতে পারে:

# ifconfig | grep –c inet6

7. প্রদত্ত স্ট্রিং দ্বারা ফাইল অনুসন্ধান করুন

সংকলনের ত্রুটির সময় ফাইলগুলি ডিবাগ করার সময় গ্রেপের জন্য –n বিকল্পটি খুব কার্যকর। এটি প্রদত্ত অনুসন্ধান স্ট্রিংয়ের ফাইলে লাইন নম্বরটি প্রদর্শন করে:

# grep –n “main” setup..py

8. সমস্ত ডিরেক্টরিতে পুনরাবৃত্তভাবে একটি স্ট্রিং অনুসন্ধান করুন

আপনি যদি সমস্ত ডিরেক্টরি উপ-ডিরেক্টরিগুলির সাথে বর্তমান ডিরেক্টরিতে একটি স্ট্রিং সন্ধান করতে চান তবে আপনি পুনরাবৃত্তভাবে অনুসন্ধানের জন্য optionr বিকল্পটি নির্দিষ্ট করতে পারেন:

# grep –r “function” *

9. সম্পূর্ণ প্যাটার্ন অনুসন্ধান

স্ট্রিংয়ে থাকা পুরো প্যাটার্নটির জন্য গ্রেপ অনুসন্ধানের জন্য ওয়ে বিকল্পটি পাস করা। উদাহরণস্বরূপ, ব্যবহার করে:

# ifconfig | grep –w “RUNNING”

উদ্ধৃতিতে প্যাটার্নযুক্ত লাইনটি মুদ্রণ করবে। অন্যদিকে, যদি আপনি চেষ্টা করেন:

# ifconfig | grep –w “RUN”

আমরা কোনও প্যাটার্নটি নয়, পুরো শব্দটি অনুসন্ধান করছি বলে কিছুই ফিরে আসবে না।

10. গিজিপ করা ফাইলগুলিতে একটি স্ট্রিং অনুসন্ধান করুন

কিছু উল্লেখের প্রাপ্য হ'ল গ্রেপের ডেরিভেটিভ। প্রথমটি হ'ল zgrep, যা zcat এর অনুরূপ, জিজেপিড ফাইলগুলিতে ব্যবহারের জন্য। এটি গ্রেপ হিসাবে একই বিকল্পগুলি নেয় এবং একইভাবে ব্যবহৃত হয়:

# zgrep –i error /var/log/syslog.2.gz

১১. ফাইলগুলিতে নিয়মিত এক্সপ্রেশন মেলে

উদাহরণস্বরূপ হ'ল "এক্সটেনডেড গ্লোবাল রেগুলার এক্সপ্রেশন" ular এটি অতিরিক্ত এক্সপ্রেশন মেটা-অক্ষরগুলি যেমন + এ স্বীকৃতি দেয়? | এবং().

উত্স ফাইলগুলি এবং কোডের অন্যান্য টুকরাগুলির অনুসন্ধানের জন্য egrep খুব কার্যকর the এটি greE বিকল্পটি নির্দিষ্ট করে নিয়মিত গ্রেপ থেকে নেওয়া যেতে পারে।

# grep –E

12. একটি নির্দিষ্ট প্যাটার্ন স্ট্রিং অনুসন্ধান করুন

Fgrep একটি নির্দিষ্ট প্যাটার্ন স্ট্রিংয়ের জন্য একটি ফাইল বা ফাইলগুলির তালিকা অনুসন্ধান করে। এটি গ্রেপ –F এর মতোই। Fgrep ব্যবহারের একটি সাধারণ উপায় হ'ল এটিতে নিদর্শনগুলির একটি ফাইল পাঠানো:

# fgrep –f file_full_of_patterns.txt file_to_search.txt

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

সৃজনশীল হোন, ম্যান পৃষ্ঠাতে অপশনগুলি নিয়ে পরীক্ষা করুন, এবং গ্রেপ এক্সপ্রেশন নিয়ে আসুন যা আপনার নিজের উদ্দেশ্যে পরিবেশন করে!