मुझे लगता है कि इसे प्राप्त करने के आप क्या चाहते हैं, केवल find -exec
साथ संभव नहीं है।
निकटतम विकल्प, xargs
को पाइप find
करने के लिए इस तरह होगा:
find some/path -print0 | xargs -0 program
या
find some/path -print0 | xargs -0L1 program
यह अगर कार्यक्रम एक गैर शून्य बाहर निकलने की स्थिति के साथ समाप्त हो जाता है बंद हो जाएगा
print0
का उपयोग किया जाता है ताकि फाइलों में न्यूलाइन के साथ फाइलें हों नाम संभाला जा सकता है
-0
आवश्यक है जब -print0
प्रयोग किया जाता है
L1
(डिफ़ॉल्ट कार्यक्रम की एक एकल निष्पादन में सभी तर्कों को जोड़ने के लिए है)
एक समय में एक तर्क के साथ कार्यक्रम पर अमल करने
xargs
कार्यक्रम बताता है
आप केवल समझदार फ़ाइल नाम है, तो आप इस तरह आसान बनाने में कर सकते हैं:
find some/path | xargs program
या
find some/path | xargs -L1 program
अंत में, यदि प्रोग्राम एक से अधिक तर्क लेता है, तो आप -i
{}
के साथ संयुक्त कर सकते हैं। जैसे
find some/path | xargs -i program param1 param2 {} param4
संबंधित: http://unix.stackexchange.com/questions/62880/how-to-stop-the-find-command-after-first-match – kojiro