هناك بعض Unix util من شأنها أن تسمح لي أن البقرى ملفات متعددة مع القليل من كتابة ؟
سؤال
الآن أفعل هذا كثيرا:
find * | grep py$ | xargs grep foo
أنا أذكر أن هناك بعض util أن يفعل هذا مع طريقة الكتابة أقل, ولكن الذي ؟
تحديث:أنا أفضل أن استخدام Bash shell إذا كان ذلك ممكنا.
المحلول
نصائح أخرى
وأنت قد تجد قذيفة الخاص بك يساعدك. على سبيل المثال، في 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 العلم ، إذا الموردة ، و نسخة منفصلة إلى البقرى نتائج تعريف البيانات.)
هذا هو أكثر فائدة وأسرع من العودية البقرى بالنسبة لي.