find/-type f -name filename.ext -exec grep -l 'lookingfor' {} +
समाप्त करने का आदेश \;
तुलना में अधिक कुशल है find
उन्हें एक एक करके भेजने के बजाय grep
करने के लिए फ़ाइलों का बड़ा समूह भेजता है एक +
का उपयोग करना। यह प्रत्येक एकल फ़ाइल के लिए एक कांटा/निष्पादन से बचाता है जो पाया जाता है।
कुछ समय पहले मैं xargs
के प्रदर्शन बनाम {} +
बनाम {} \;
तुलना करने के लिए कुछ परीक्षण किया था और मैंने पाया कि {} +
तेजी से किया गया था। यहाँ मेरी परिणाम में से कुछ हैं:
time find . -name "*20090430*" -exec touch {} +
real 0m31.98s
user 0m0.06s
sys 0m0.49s
time find . -name "*20090430*" | xargs touch
real 1m8.81s
user 0m0.13s
sys 0m1.07s
time find . -name "*20090430*" -exec touch {} \;
real 1m42.53s
user 0m0.17s
sys 0m2.42s
मैं केवल '--color' को' grep' में जोड़ूंगा, मुझे विश्वास है कि चीजों को देखना बहुत आसान है। असल में, मुझे अभी एहसास हुआ कि यह 'alashrc' में परिभाषित उपनाम नहीं लेता है। – Alexandre