ابحث عن الملفات التي تحتوي على نص معين في Linux
يأتي Linux ، بغض النظر عن التوزيعة التي تستخدمها ، مع عدد من أدوات واجهة المستخدم الرسومية التي تسمح بالبحث عن الملفات. يدعم العديد من مديري الملفات الحديثين البحث عن الملفات مباشرة في قائمة الملفات. ومع ذلك ، هناك عدد من المواقف عندما تحتاج إلى استخدام وحدة التحكم ، على سبيل المثال ، أثناء جلسة SSH أو عندما لا يبدأ خادم X. إليك كيفية العثور على الملفات التي تحتوي على نص معين بسرعة باستخدام الجهاز.
الإعلانات
إذا كان بإمكانك استخدام واجهة المستخدم الرسومية ، فإن البحث عن الملفات لا يمثل مشكلة. في بيئة سطح مكتب XFCE المفضلة لدي ، يسمح مدير الملفات Thunar بالبحث عن الملفات عن طريق كتابة اسم الملف مباشرة في قائمة الملفات.
ومع ذلك ، لم يسمح أي من مديري الملفات الذين جربتهم بالبحث عن محتويات الملف.
لتجاوز هذا القيد عند العمل في جلسة GUI ، يمكنك استخدام Сatfish. Сatfish هي أداة بحث شائعة. يسمح بالبحث عن محتويات الملف. تحتاج إلى النقر فوق رمز الترس وتمكين الخيار ابحث عن محتويات الملف.
ومع ذلك ، عندما يتعلق الأمر بالمحطة ، لا يمكنك استخدام أي أداة رسومية. أيضًا ، أجد سمك السلور غير مفيد وأفضل أدوات وحدة التحكم الكلاسيكية عليه. فيما يلي الأساليب والأدوات التي أستخدمها.
للعثور على الملفات التي تحتوي على نص معين في Linux، قم بما يلي.
- افتح تطبيق Terminal المفضل لديك. محطة XFCE4 هو تفضيلي الشخصي.
- اكتب الأمر التالي:
ابحث عن نص ./ -type f -exec grep -l "للعثور على" {} \ ؛
- سينتج هذا قائمة الملفات التي تحتوي على جزء النص المطلوب.
سيبحث الأمر find عن الملفات بدءًا من الدليل الحالي "./". يمكنك تحديد المسار المطلوب بدلاً من ذلك.
الخيار -نوع و يخبرها بالبحث فقط عن الملفات واستبعاد الدلائل. أيضًا ، يمكنك جعله يبحث فقط عن نوع ملف معين عن طريق إضافة الخيار على النحو التالي:ابحث عن نص ./ -type f -iname "* .txt" -exec grep -l "للعثور على" {} \ ؛
انظر لقطة الشاشة التالية:
ال -تكس يستدعي الخيار أداة grep لكل ملف من الملفات المطابقة للتحقق من محتوياتها. إذا تم العثور على النص في الملف ، فسيتم إضافة اسمه إلى الإخراج ، وذلك بفضل امتداد الملف الخيار -l.
البدائل
هناك بدائل للطرق المذكورة أعلاه. بادئ ذي بدء ، يمكنك فقط استخدام ملف grep أداة. جرب الأمر التالي:
grep -iRl "نص للبحث" ./
- -i تعني تجاهل حالة النص.
- -R تعني معالجة الملفات العودية.
- -l تعني "إظهار اسم الملف ، وليس النتيجة نفسها".
كما ترى ، هذه الطريقة أقل مرونة من تجد أمر.
قائد منتصف الليل
هناك طريقة أخرى أستخدمها غالبًا وهي Midnight Commander (mc) ، وهو تطبيق مدير ملفات وحدة التحكم. بخلاف find أو grep ، لا يتم تضمين mc افتراضيًا في جميع توزيعات Linux التي جربتها. قد تحتاج إلى تثبيته بنفسك.
للعثور على ملفات تحتوي على نص معين باستخدام Midnight Commander ، ابدأ التطبيق واضغط على التسلسل التالي على لوحة المفاتيح:
بديل + تحول + ?
سيؤدي هذا إلى فتح مربع حوار البحث.
املأ قسم "اسم الملف:". يمكنك تحديد شيء مثل "* .txt" للبحث عن نصك في ملفات نصية فقط.
الآن ، املأ ملف المحتوى: علبة. اكتب النص الذي تحتويه الملفات واضغط على مفتاح Enter.
سيجد جميع الملفات التي تطابق المعايير.
هذا كل شيء.