هل تريد البحث عن ملف محتواه نص معين؟

دمية مع عدسة مكبرة

سألني البعض عن الوظيفة التي توفرها أحدث إصدارات Microsoft Windows والتي يمكنك من خلالها استخدام محرك البحث الخاص بهم للعثور ، ليس فقط على الملفات التي تحمل اسمًا معينًا ، ولكن يمكنك أيضًا تضمين نص للعثور عليه الملفات التي تتضمن مثل هذه النصوص ، مثل ملفات PDF ومستندات Microsoft Office والملفات النصية بتنسيق .txt وما إلى ذلك. حسنًا ، يجب أن تعلم أنه في توزيعة GNU / Linux يمكنك فعل ذلك وأكثر من ذلك بكثير.

لقد أجرينا بالفعل دروسًا تعليمية صغيرة في LxA لأوامر مثل find ، whereis ، locate ، إلخ. سنخبرك الآن بطريقة إعادة إنشاء هذه الوظيفة التي تحدثت عنها في الفقرة الأولى من وحدة التحكم الخاصة بك. كما أقول لينكس مرن للغاية ولديه أدوات مختلفة للعثور على الأشياءحسنًا، سنعرض لك هنا بعض الطرق المختلفة التي يمكنك استخدامها للبحث عن الملفات التي يوجد بها نص أو سلسلة معينة: البحث عن كلمة أو سلسلة في ملفات الدليل يمكنك استخدام:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

في المثال السابق ، كنا نبحث عن كلمة "hello" في المجلد / home في جميع الملفات الموجودة. في الحالة الأولى ، مع الخيار -s ، يتم إجراء بحث غير متكرر ، بينما مع -R يصبح تكراريًا ، لذلك إذا كانت هناك أدلة فرعية بداخله ، فسيتم أيضًا البحث هناك ... ولكن احذر ، من شأنه أن يبحث في كل المحتوى بهذه السلسلة "hello" ، لذلك إذا كانت هناك عبارة أو كلمة مثل "hello" ، فستعتبرها أيضًا صالحة وتعرض الملفات التي تحتوي عليها ، أي أنها لا تبحث عن تلك الكلمة بطريقة معينة. لجعلها محددة ، يمكنك استخدام الخيار الثالث.

تذكر أنه سيتم إجراء عمليات بحث حساسة لحالة الأحرف ، لذا فإن الأمثلة السابقة ستتجاهل أشياء مثل Hello و HELLO و holA وما إلى ذلك. لصنع البحث وتجاهل الحالة، ثم يمكنك استخدام الخيار -i.

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

grep -Rlv hola /home/*

grep --exclude-dir= /home/Desktop -Rlv /home/*

في المثال الأول ، سيعرض القائمة الكاملة للملفات التي لا تحتوي على كلمة "hello" ، بينما في الحالة الثانية ستفعل الشيء نفسه ولكن تم استبعاد الملفات التي تم العثور عليها مستضاف في / home / Desktop ... بالمناسبة ، يمكن أيضًا استخدام هذا الخيار –exclude-dir = في الأمثلة الأولى ...


اترك تعليقك

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

*

*

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

  1.   تياجو فيجو قال

    جراتس لكل ISTO.