أمر Grep: أداة قوية للعثور على نص من Terminal

أمر Grep

سيعرف أي شخص لديه جهاز كمبيوتر أو يعمل معه اختصار لوحة المفاتيح Ctrl + F للعثور على نص. يرمز الحرف "F" إلى "Find" و "to find" باللغة الإنجليزية ، ويمكن استخدامه ، على سبيل المثال ، للعثور على نص في صفحة ويب. يتوفر هذا الاختصار أيضًا في العديد من التطبيقات ، فهناك برامج تستخدم الحرف "B" في "البحث" ، ولكن هذه الاختصارات تعمل فقط إذا كنا داخل التطبيق ومع فتح الملف. في Linux لدينا أدوات قوية جدًا يمكننا إطلاقها من Terminal وإذا أردنا ذلك ابحث عن أي نص موجود في فريقنا ، سنستخدم الأمر البقرى.

البقرى إنه أمر سيساعدنا في العثور على نص داخل الملف الذي نشير إليه. يأتي اسمها من g / re / p ، وهو أمر يعمل لشيء مشابه في محرر نصوص Unix / Linux. مثل العديد من الأوامر الأخرى ، البقرى لديه الكثير الخيارات المتاحة التي سنضيفها في شكل رسائل وستؤدي كل واحدة مهمة مختلفة. من خلال الجمع بين هذه الخيارات ، سنتمكن من إجراء عمليات بحث معقدة في ملف واحد أو أكثر. هنا نعرض لك كل ما تريد أن تعرفه.

مع البقرى سنجد أي نص في أي ملف

أولا وقبل كل شيء سوف نشرح الخيارات المتاحة:

  • -i: لن يميز بين الأحرف الكبيرة والصغيرة.
  • -w: إجباره على البحث عن كلمات محددة فقط.
  • -v: تحديد الأسطر غير المتطابقة.
  • -n: يظهر رقم السطر بالكلمات المطلوبة.
  • -h: يزيل البادئة من اسم ملف Unix في الإخراج.
  • -r: يبحث في الدلائل بشكل متكرر.
  • -R: like -r لكن اتبع جميع الروابط الرمزية.
  • -l: يعرض فقط أسماء الملفات ذات الخطوط المحددة.
  • -c- يظهر عددًا واحدًا فقط لكل ملف من الخطوط المحددة.
  • -اللون: يعرض الأنماط المطابقة بالألوان.

في الصورة التي لديك عنوان لهذه المقالة ، بحثت عن كلمة "صور" في الملف "830.desktop" الموجود في هذا المسار. كما ترى ، لقد كتبت:

grep Imágenes /home/pablinux/Documentos/830.desktop

ضع في اعتبارك أنه في هذه المقالة سنكتب أمثلة يجب تعديلها وفقًا لتفضيلات البحث لدينا. عندما نقول "ملف" ، "وورد" ، إلخ ، سنشير إلى الملف بمساره. لو كنت قد كتبت للتو "grep Images 830.desktop" لتلقيت رسالة تفيد بأن الملف غير موجود. أو سيكون الأمر كذلك ما لم يكن الملف في الدليل الجذر.

من الأمثلة الأخرى:

  • grep -i images /home/pablinux/Documentos/830.desktop، حيث ستكون "الصور" هي الكلمة التي نريد البحث عنها والباقي الملف بمسارها. سيبحث هذا المثال عن "صور" في الملف "830.desktop" غير حساس لحالة الأحرف.
  • صور grep -R: سيبحث في جميع أسطر الدليل وجميع الأدلة الفرعية الخاصة به حيث توجد كلمة "صور".
  • grep -c مثال test.txt: سيبحث هذا عنا ويظهر العدد الإجمالي لمرات ظهور "example" في ملف يسمى "test.txt.

مع grep يمكننا أيضًا البحث عن الملفات

إذا كان ما نريده هو العثور على الملف 830.desktop ، فسنكتب الأمر التالي:

grep 830.desktop

سيؤدي هذا إلى تنفيذ ملف ابحث عن ملف «830.desktop» في مجلدنا الشخصيبمعنى آخر ، إذا كان الملف موجودًا في مجلد شخصي لمستخدم آخر ، فلن يتم العثور عليه. هذا هو الشيء الأكثر طبيعية في العالم لأن المستخدم ليس لديه إذن للوصول إلى محتوى آخر بدون كلمة المرور الخاصة به.

كيفية إجراء عمليات البحث العودية

البقرى كما يسمح لنا إجراء عمليات بحث تخضع لقواعد أو إرشادات متكررة. على سبيل المثال ، اقرأ جميع الملفات في كل دليل يحتوي على كلمة "Pablinux". لهذا سنكتب:

grep -r Pablinux /home/

اوه حسنا:

grep -R Pablinux /home/

سنرى نتائج "Pablinux" في سطر منفصل مسبوقًا باسم الملف الذي تم العثور عليه فيه. إذا لم نرغب في رؤية أسماء الملفات في إخراج البيانات ، فسنستخدم الخيار -h (من "إخفاء" ؛ إخفاء):

grep -h -R Pablinux /home/

يمكننا ضم الخيارات معًا وكتابة "-hR" بدون علامات الاقتباس.

كيفية القيام بالبحث الدقيق عن الكلمات

في بعض الأحيان توجد ملفات تحتوي على ما نريد البحث عنه عن شيء آخر. على سبيل المثال ، يمكن أن يحدث هذا لنا في كلمات مركبة ومن خلال البحث عن "غابات" يمكننا العثور على "حراس". إذا أردنا ابحث عن كلمة دقيقة سنستخدم الخيار -w:

grep -w bosques /home/pablinux/Documentos/vacaciones.txt

سيبحث الأمر أعلاه عن "الغابات" ، متجاهلاً حراس الغابات ، في الملف "holiday.txt" في المسار المشار إليه. إذا كان ما نريده هو البحث عن كلمتين مختلفتين ، فسنستخدم الأمر com.egrep:

egrep -w bosques|plantas /ruta/del/archivo

تعرف على عدد مرات ظهور كلمة في ملف

البقرى كما أنها قادرة على حساب عدد مرات ظهور كلمة في ملف. لهذا سوف نستخدم الخيار -c:

grep -c prueba /ruta/al/archivo

إضافة الخيار -n ما سنراه هو رقم السطر الذي تظهر فيه الكلمة.

عمليات البحث العكسي

يمكننا أيضًا أن نفعل العكس ، البحث عن الأسطر التي لا تحتوي على كلمة. لهذا سنستخدم الخيار -v ، والذي سيكون على النحو التالي:

grep -v la ruta/al/archivo

سيعرض الأمر أعلاه جميع الأسطر التي لا تحتوي على كلمة "the". يمكن أن يكون هذا مفيدًا في المستندات أو القوائم التي تتكرر فيها كلمة عدة مرات ، ولسبب ما ، نحتاج إلى الوصول إلى بقية السطور.

الوصول إلى معلومات النظام باستخدام البقرى

طراز الكمبيوتر الشخصي

البقرى ليس فقط قادرًا على البحث داخل الملفات. بل هو أيضا قادر على عرض معلومات النظام. في لقطة الشاشة السابقة ، يمكننا أن نرى كيف يُظهر لنا طراز الكمبيوتر الشخصي الذي لدينا (أعلم أنه ليس أقوى كمبيوتر محمول في العالم). لهذا استخدمنا الأمر:

cat /proc/cpuinfo | grep -i 'Model'

اوه حسنا:

grep -i 'Model' /proc/cpuinfo

إذا كان ما نريده هو رؤية أسماء وحدات القرص فسنكتب:

dmesg | egrep '(s|h)d[a-z]'

كيفية سرد أسماء الملفات المتطابقة فقط

إذا أردنا رؤية قائمة بأسماء الملفات التي تطابق البحث فقط ، فسنستخدم الخيار -l كما هو موضح أدناه:

grep -l 'main' *.c

وإذا أردنا رؤية الكلمة بالألوان فسنكتب:

grep --color palabra /ruta/al/archivo

كما ترون ، فإن الأمر البقرى هو أداة قوية جدا الأمر يستحق ذلك خاصة في الحالات التي لا نتذكر فيها أين كتبنا شيئًا ما أو في البرمجة. بالإضافة إلى ذلك ، يساعدنا ذلك في معرفة معلومات حول النظام بالطريقة التي يحبها عشاق المحطة الطرفية. هل كان هذا الدليل الخاص بالأمر للعثور على النصوص مفيدًا لك البقرى?


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   نوردري قال

    مرحبا!
    عندما تقول أن Grep يستخدم أيضًا للبحث عن الملفات ، لا أعتقد أنه صحيح لأنه إذا قمت بتشغيل grep EXPRESSION ولم تمرر الملف إليه ، فسوف ينتظر إدخال البيانات من الإدخال القياسي.
    وفقًا لصفحة الدليل:
    يبحث grep في ملفات الإدخال المسماة عن الأسطر التي تحتوي على تطابق مع النمط المحدد. إذا لم يتم تحديد أي ملفات ، أو إذا تم توفير الملف "-" ، يبحث grep في الإدخال القياسي.
    لذا يمكنك استخدامه في خطوط الأنابيب ، مثل ذلك الذي تقوم بتحليل إخراج / proc / cpuinfo عن طريق تمرير إخراج هذا الأمر كمدخل إلى grep ، يمكنك إجراء البحث.
    تحيات

  2.   آنا قال

    منشور جيد جدا.
    أنت تشرحها جيدًا وتذهب مباشرة إلى النقطة.