मैं इस तरह से एक मुद्दे का सामना करना पड़ा ...
वास्तव में, दो तरीकों से आप findकमांड आउटपुट को copyकमांड में प्रोसेस कर सकते हैं
यदि findकमांड के आउटपुट में कोई स्थान नहीं है अर्थात यदि फ़ाइल नाम में स्थान नहीं है तो आप नीचे दिए गए कमांड का उपयोग कर सकते हैं:
वाक्य - विन्यास: find <Path> <Conditions> | xargs cp -t <copy file path>
उदाहरण: find -mtime -1 -type f | xargs cp -t inner/
लेकिन अधिकांश समय हमारी उत्पादन डेटा फ़ाइलों में स्थान हो सकता है। तो नीचे दिए गए आदेश का अधिकांश समय सुरक्षित है:
वाक्य - विन्यास: find <path> <condition> -exec cp '{}' <copy path> \;
उदाहरण find -mtime -1 -type f -exec cp '{}' inner/ \;
दूसरे उदाहरण में, अंतिम भाग यानी अर्ध-बृहदान्त्र को भी findकमांड का हिस्सा माना जाता है , जो कि एंटर बटन दबाने से पहले बच जाना चाहिए। अन्यथा आपको कुछ इस तरह की त्रुटि मिलेगी
find: missing argument to `-exec'
आपके मामले में, फ़ाइल को खोजने के लिए कॉपी कमांड सिंटैक्स गलत है /home/shantanu/tosend। निम्नलिखित कमांड काम करेगी:
find /home/shantanu/processed/ -name '*2011*.xml' -exec cp {} /home/shantanu/tosend \;
\;?