मैं इस तरह से एक मुद्दे का सामना करना पड़ा ...
वास्तव में, दो तरीकों से आप 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 \;
\;
?