تاريخ اليوم
 أمثلة عملية لأمر Linux grep

أمثلة عملية لأمر Linux grep



شارك المقالة

                  بسم الله الرحمن الرحيم

الحمد لله رب العالمين، وصلى الله وسلم وبارك على عبده ورسوله نبينا محمد وعلى آله وصحبه أجمعين


 أمثلة عملية لأمر Linux grep



هل سبق لك أن واجهت مهمة البحث عن سلسلة أو نمط معين في ملف ، ولكن ليس لديك أي فكرة من أين تبدأ البحث؟ حسنًا ، ها هو grep لإنقاذ!


أمثلة أوامر Grep


يعد grep باحثًا قويًا عن أنماط الملفات ويأتي مجهزًا في كل توزيعات Linux . إذا لم يتم تثبيته على نظامك لأي سبب من الأسباب ، فيمكنك تثبيته بسهولة عبر مدير الحزم 

( apt-get على Debian / Ubuntu و yum على RHEL / CentOS / Fedora ).


sudo apt-get install grep # Debian / Ubuntu

sudo yum  install grep # RHEL / CentOS / Fedora

لقد وجدت أن أسهل طريقة لتبليل قدميك باستخدام grep هي الغوص واستخدام بعض الأمثلة من العالم الحقيقي.


1. البحث والعثور على الملفات

لنفترض أنك قمت للتو بتثبيت نسخة جديدة من Ubuntu الجديد على جهازك ، وأنك ستعطي Python برمجة نصية. لقد كنت تتجول في الويب بحثًا عن برامج تعليمية ، لكنك ترى أن هناك إصدارين مختلفين من Python قيد الاستخدام ، ولا تعرف أيهما تم تثبيته على نظامك بواسطة مُثبِّت Ubuntu ، أو ما إذا كان قد قام بتثبيت أي وحدات نمطية. ما عليك سوى تشغيل هذا الأمر:


# dpkg -l | grep -i python


أولاً ، قمنا بتشغيل dpkg –l ، والذي يسرد حزم * .deb المثبتة على نظامك. ثانيًا ، قمنا بتوصيل هذا الإخراج إلى grep –i python ، والذي يشير إلى حالات بسيطة "انتقل إلى grep وقم بالتصفية وإعادة كل شيء يحتوي على" python "." و -i خيار هناك تجاهل حدة، كما grep لحالة الأحرف. يعد استخدام الخيار –i عادة جيدة للدخول ، ما لم تكن بالطبع تحاول إجراء بحث أكثر تحديدًا.


2. بحث وتصفية الملفات

و grep يمكن أن تستخدم أيضا للبحث ومرشح ضمن الملفات الفردية أو ملفات متعددة. لنأخذ هذا السيناريو:


تواجه بعض المشاكل مع خادم الويب Apache ، وقد تواصلت مع أحد المنتديات العديدة الرائعة على الشبكة لطلب بعض المساعدة. طلبت منك ان ترد عليك نشر محتويات ملف / etc / apache2 / sites-available / default-ssl . ألن يكون الأمر أسهل عليك ، وللرجل الذي يساعدك ، وكل من يقرأه ، إذا كان بإمكانك إزالة جميع السطور المعلقة؟ كذلك يمكنك! فقط قم بتشغيل هذا:


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


و -v خيار يقول grep إلى عكس انتاجها، وهذا يعني أنه بدلا من طباعة خطوط المطابقة، تفعل العكس وطباعة جميع الخطوط التي لا تطابق التعبير، في هذه الحالة، و # علق خطوط.


3. البحث عن جميع ملفات mp3. فقط

و grep يمكن أن تكون مفيدة جدا للتصفية من المعياري . على سبيل المثال ، لنفترض أن لديك مجلدًا كاملاً مليئًا بملفات الموسيقى بمجموعة من التنسيقات المختلفة. تريد العثور على جميع ملفات * .mp3 من الفنان JayZ ، لكنك لا تريد أيًا من المسارات التي تم إعادة مزجها. سيؤدي استخدام أمر find مع زوج من  grep إلى تنفيذ الحيلة:


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


في هذا المثال ، نستخدم find لطباعة جميع الملفات بامتداد * .mp3 ، مع توجيهها إلى grep –i لتصفية وطباعة جميع الملفات التي تحمل الاسم " JayZ " ثم أنبوبًا آخر إلى grep –vi والذي يقوم بتصفية لا يطبع ولا يطبع جميع أسماء الملفات مع السلسلة (في أي حال) " remix ".




4. عرض عدد الأسطر قبل أو بعد سلسلة البحث

هناك خياران آخران هما مفاتيح التبديل –A و –B ، والتي تعرض السطر المتطابق وعدد الأسطر التي تأتي قبل سلسلة البحث أو بعدها. بينما تقدم صفحة الدليل شرحًا أكثر تفصيلاً ، أجد أنه من الأسهل تذكر الخيارات مثل –A = بعد و –B = قبل :


# ifconfig | grep –A 4 eth0

# ifconfig | grep  -B 2 UP

5. يطبع عدد الأسطر حول المباراة

خيار grep's –C مشابه ، ولكن بدلاً من طباعة الأسطر التي تأتي قبل السلسلة أو بعدها ، فإنها تطبع الخطوط في أي اتجاه:


# ifconfig | grep –C 2 lo


6. عد عدد المطابقات

على غرار توجيه سلسلة grep إلى عدد الكلمات ( برنامج wc ) ، يمكن للخيار المدمج في grep أن يؤدي نفس الشيء بالنسبة لك:


# ifconfig | grep –c inet6


7. البحث عن الملفات حسب السلسلة المعطاة

يعد الخيار –n لـ grep مفيدًا جدًا عند تصحيح أخطاء الملفات أثناء أخطاء الترجمة. يعرض رقم السطر في ملف سلسلة البحث المحددة:


# grep –n “main” setup..py


8. ابحث عن سلسلة تكرارية في جميع الدلائل

إذا كنت ترغب في البحث عن سلسلة في الدليل الحالي مع جميع الأدلة الفرعية ، فيمكنك تحديد الخيار –r للبحث بشكل متكرر:


# grep –r “function” *


9. يبحث عن النمط بأكمله

تمرير الخيار –w للبحث في grep عن النمط الكامل الموجود في السلسلة. على سبيل المثال ، باستخدام:


# ifconfig | grep –w “RUNNING”


سيطبع السطر الذي يحتوي على النمط في علامات الاقتباس. من ناحية أخرى ، إذا حاولت:


# ifconfig | grep –w “RUN”


لن يتم إرجاع أي شيء لأننا لا نبحث عن نمط بل كلمة كاملة.


10. ابحث عن سلسلة في ملفات Gzipped

تجدر الإشارة إلى مشتقات grep. الأول هو zgrep ، التي، على غرار zcat ، هو للاستخدام على ملف GZipped الملفات. يأخذ نفس خيارات grep ويستخدم بنفس الطريقة:


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


11. تطابق التعبير العادي في الملفات

و egrep هو مشتق آخر أن تقف على " التعبير منتظم العالمية الموسعة ". يتعرف على أحرف وصفية تعبيرية إضافية مثل في +؟ | و () .

egrep

مفيد جدًا في البحث عن ملفات المصدر ، وأجزاء أخرى من التعليمات البرمجية ، إذا دعت الحاجة إلى ذلك. يمكن استدعاؤه من grep العادي بتحديد الخيار –E .


# grep –E

12. ابحث عن سلسلة نمط ثابت

و fgrep بالبحث عن ملف أو قائمة من الملفات عن سلسلة نمط ثابت. إنه نفس grep –F . الطريقة الشائعة لاستخدام fgrep هي تمرير ملف الأنماط إليه:


# fgrep –f file_full_of_patterns.txt file_to_search.txt


هذه مجرد نقطة بداية مع grep ، ولكن كما يمكنك رؤيتها على الأرجح ، فهي لا تقدر بثمن لمجموعة متنوعة من الأغراض. بصرف النظر عن أوامر السطر الواحد البسيطة التي قمنا بتنفيذها ، يمكن استخدام grep لكتابة وظائف cron القوية ونصوص الصدفة القوية كبداية.

فهرس أوامر على نظام لينكس: اضغط هنا

ليست هناك تعليقات:

إرسال تعليق

(( مَا يَلْفِظُ مِنْ قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ))

السلام عليكم و رحمة الله و بركاته

الصلاة والسلام على اشرف المرسلين صلى الله عليه وسلم

مدونة نادي لينكس الاغواط الجزائري هي مدونة لتعريف على نظام لينكس وعلى بعض انوعه التوزيعات لينكس لتشجيع على استخدم النظام ربما يكون غير معروف للبعض الهدف هو تعميم والتعريف بالنظام لينكس هي بمثابة اول خطوة الى عالم لينكس ربما الكثير منا لا يعرف الكثير عنه وفي مدونة نادي لينكس الاغواط الجزائري

بحث هذه المدونة الإلكترونية

إجمالي مرات مشاهدة الصفحة

نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *