क्या है +
में find /path/ -exec command '{}' +
करते हैं? विरोध के रूप मेंfind /path/ -exec command '{}' \;
क्या है +
में find /path/ -exec command '{}' +
करते हैं? विरोध के रूप मेंfind /path/ -exec command '{}' \;
जवाबों:
'+' चलने के लिए आदेशों की संख्या को कम करने के लिए सभी मिली फ़ाइलों में से एक बड़ी कमांड लाइन बनाता है।
इस मामले को देखते हुए कि एक खोज कमांड में चार फाइलें होती हैं।
find . -type f -exec command '{}' \;
उत्पादन होगा
command file1
command file2
command file3
command file4
दूसरी ओर
find . -type f -exec command '{}' \+
पैदा करता है
command file1 file2 file3 file4
मैन पेज से:
-exec कमांड {} +
-Exec कार्रवाई का यह संस्करण चयनित फ़ाइलों पर निर्दिष्ट कमांड चलाता है, लेकिन कमांड लाइन अंत में प्रत्येक चयनित फ़ाइल नाम को जोड़कर बनाया गया है; कमांड की कुल संख्याओं की संख्या मिलान की गई फ़ाइलों की संख्या से बहुत कम होगी। कमांड लाइन उसी तरह से बनाई गई है जिस तरह से xargs अपनी कमांड लाइन बनाता है। कमांड के भीतर `{} 'के केवल एक उदाहरण की अनुमति है। कमांड को प्रारंभिक निर्देशिका में निष्पादित किया जाता है।
find
मुझे एक अर्ध देता है।
xargs
, के-exec … {} +
रूप में ही करता है-print | xargs …
, लेकिन उद्धरण मुद्दों के बिना (-print0 | xargs -0
एक और तरीका है, लेकिन यह कम पोर्टेबल है)।