هناك بعض Unix util من شأنها أن تسمح لي أن البقرى ملفات متعددة مع القليل من كتابة ؟

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

  •  06-07-2019
  •  | 
  •  

سؤال

الآن أفعل هذا كثيرا:

find * | grep py$ | xargs grep foo

أنا أذكر أن هناك بعض util أن يفعل هذا مع طريقة الكتابة أقل, ولكن الذي ؟

تحديث:أنا أفضل أن استخدام Bash shell إذا كان ذلك ممكنا.

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

المحلول

ACK :

والتي تفضل أن اكتب؟

و$ grep pattern $(find . -type f | grep -v '\.svn')

و$ ack pattern

نصائح أخرى

وأنت قد تجد قذيفة الخاص بك يساعدك. على سبيل المثال، في zsh ، يمكنك أن تفعل

grep foo **/*.py

وقدم عدد من الملفات .py لا يتجاوز الحد الأقصى لعدد الحجج سمح لأمر (64K؟). ملاحظة يمكنك التأهل الملف globbing منها مثلا.

grep foo **/*.py(mh-5)

والتي سوف تعطيك كل شيء تعديلها في 5 ساعة الماضية.

هل حاولت ACK .

zsh وقد العودية globbing ،

grep foo **/*.py

نظرة ما ، لا تجد :)

تحديث:وأيضا إذا كنت تفعل شيئا كثيرا فإنه لا يضر أن الاسم المستعار أو كتابة دالة على ذلك بالطبع

وانه دعا البقرى * غمزة *: -)

جميع الحمر في الدليل الحالي

grep -R foo *.py

وجميع الملفات في تيار وأي دليل فرعي

grep -R foo .
find . -name "*.py" -exec grep -H foo '{}' ';'
grep -r --include='*.py' foo *

أنا أستخدم شيئا كثيرا مثل العثور على/grep زوج الكثير, على الرغم من أن مع المزيد من الشروط -- باستثناء الملفات في .إس في الدلائل ، على سبيل المثال.أفعل هذا كثيرا أنا فقط جعلت النصوص حول هذه الدعاء ، لذا يمكن أن نطلق عليه "src-البقرى ..." ويكون ذلك أساسا ما تفعله هنا.(ثم أضفت ملحق اختياري لعدد من السياق خطوط لتمريرها إلى grep -C العلم ، إذا الموردة ، و نسخة منفصلة إلى البقرى نتائج تعريف البيانات.)

هذا هو أكثر فائدة وأسرع من العودية البقرى بالنسبة لي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top