أسماء الملفات واللغوصات لتطابقات القط و Grep

StackOverflow https://stackoverflow.com/questions/592194

  •  09-09-2019
  •  | 
  •  

سؤال

رمز بلدي

$  *.php | grep google

كيف يمكنني طباعة أسماء الملفات واللغات الصغيرة بجانب كل مباراة؟

هل كانت مفيدة؟

المحلول

grep google *.php

إذا كنت تريد أن تمتد العديد من الدلائل:

find . -name \*.php -print0 | xargs -0 grep -n -H google

(كما هو موضح في التعليقات، -H مفيد إذا جاء Xargs مع ملف واحد متبق واحد فقط)

نصائح أخرى

يجب أن لا تفعل

$ *.php | grep

هذا يعني "تشغيل برنامج PHP الأول، مع اسم الباقي بدون دقيق كمعلمات، ثم قم بتشغيل GREP على الإخراج".

يجب أن يكون:

$ grep -n -H "google" *.php

ال -n العلم يحكي أن تفعل أرقام الخطوط، و -H يخبره العلم بعرض اسم الملف حتى لو كان هناك ملف فقط. سيعرض GREP الافتراضي لإظهار أسماء الملفات إذا كان هناك ملفات متعددة يتم البحث فيها، لكن ربما ترغب في التأكد من أن الإخراج متسق بغض النظر عن عدد الملفات المتطابقة الموجودة.

grep -RH "google" *.php

يرجى إلقاء نظرة على ACK في http://betterthangrep.com.. وبعد ما يعادل ACK عما تحاوله هو:

ack google --php
find ./*.php -exec grep -l 'google' {} \; 

استخدم "Man Grep" لرؤية ميزات أخرى.

for i in $(ls *.php); do  grep -n --with-filename "google" $i; done;
find . -name "*.php" -print | xargs grep -n "searchstring"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top