एक निश्चित एक्सटेंशन के साथ कुछ फ़ाइलनामों को छोड़कर सभी फ़ाइलों को कॉपी करने के लिए rsync का उपयोग करें


28

मेरे पास दो समान आकार के फ्लैश कार्ड हैं, और मैं निम्नलिखित नियमों के आधार पर एक से दूसरे की सामग्री को कॉपी करना चाहता हूं:

  1. मुझे सभी निर्देशिका और उपनिर्देशिकाएँ चाहिए
  2. मैं टाइप की फाइलों को बाहर रखना चाहता हूं। .FOO, .BAR और .ZIM (अन्य सभी फाइलें कॉपी की जाती हैं)
  3. बोनस: यह अच्छा होगा अगर यह फाइलनामों को आउटपुट करता है क्योंकि वे कॉपी किए जाते हैं यह देखते हुए कि यह ~ 8 जीबी जानकारी की नकल होगी

यह किसी भी तरह "खोजने" के साथ किया जा सकता है?

जवाबों:


41

इसके स्विच के साथ rsync का उपयोग करना काफी आसान होगा ।--exclude

rsync -av --exclude='*.FOO' --exclude='*.BAR' --exclude='*.ZIM' /source /dest

-vस्विच वर्बोज़ उत्पादन जिस पर फ़ाइलें सिंक्रनाइज़ किया जा रहा है प्रदान करेगा।


यहाँ थोड़ा अनुवर्ती: प्रतिलिपि समाप्त हो गई और / src / * अब / भाग्य / src / * में है / पाने के लिए rsync का उपयोग कैसे करें / src / * in / dest / *?
मस्क

कोशिश/source/ /dest
जॉन टी

यह काम नहीं करता है। मैं अभी भी देख रहा हूँ *। FOO फ़ाइलों को कॉपी किया जा रहा है।
जेक

यह निर्दिष्ट किया जाता है कि आपको किस तरह से रास्ता देना चाहिए --exclude। यदि आपको इससे कोई समस्या है, तो इस उत्तर को देखें
तात्यामेली

0

यदि आपके पास बहिष्कृत करने के लिए बड़ी संख्या में एक्सटेंशन हैं, तो आप एक फ़ाइल बना सकते हैं और इसे सरल बनाने के लिए केवल एक बहिष्कृत विकल्प का उपयोग करने के लिए सभी एक्सटेंशन या फ़ाइल को लिख सकते हैं।

rsync -ravz --exclude = '। / abc, txt' / source / dest

यदि आप पुनरावर्ती रूप से कॉपी करना चाहते हैं, तो संपीड़न और आर विकल्प के लिए z का उपयोग करना हमेशा अच्छा होता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.