मैं एक (बड़ी) निर्देशिका को केवल भिन्न फ़ाइलों को बदलकर कैसे कॉपी कर सकता हूं?


14

मेरे पास निर्देशिका है और निर्देशिका बी। वे बड़े हैं। b लगभग a के समान है। "लगभग" का मतलब है कि 4-5 फाइलें अलग हैं, और मुझे नहीं पता कि वे कौन से हैं। मैं एक से अधिक बी कॉपी करना चाहता हूं, लेकिन केवल फाइलें जो अलग हैं। मैं बैश में हूं।

(नहीं, मैं बस इसे हटा नहीं सकता और इसे b से बदल सकता हूं, क्योंकि 1) एक संस्करण-नियंत्रित 2 है) एक पूर्ण प्रति (या एक mv) बहुत अधिक ले जाएगा। मैं केवल उन फाइलों को कॉपी करना चाहता हूं जो अलग हैं)।


है rsyncएक विकल्प?
बॉबी

यह है, लेकिन मैं rsync के बारे में ज्यादा नहीं जानता।
Janesconference

जवाबों:


17

आप ऐसा करने के rsyncलिए उपयोग कर सकते हैं , मैं जिस कमांड का उपयोग करता हूंrsync -tr "folder to copy from" "folder to copy to"

जैसे rsync -tr /home/me/stuff/* /home/me/otherstuff/


1
इस कमांड के बी.ई.ओ. यह उन सभी फ़ाइलों को हटा देगा जो अलग नहीं होंगे। मैंने इसे चलाया और लगभग सब कुछ खो दिया !!
अरविंद के।

@ अरविंद मुझे नहीं पता कि आपने किस कमांड का उपयोग किया था जिसके कारण आपको अपना डेटा खोना पड़ा लेकिन यह rsync नहीं था। मैन पेज पढ़ें।
तोग

18

अच्छे पुराने के साथ ऐसा करना भी संभव है cp:

मुझे उपयोग करने की याद दिलाने के लिए srcspider का धन्यवाद -T!

cp -ruT old-dir new-dir


+1 मुझे मशीनों के साथ सिंक करने की इतनी आदत है कि मैं सुरुचिपूर्ण तरीके भूल जाता हूं।
टॉग

मेरे लिए काम नहीं करता है :(
Janesconference 12

यह वास्तव में अच्छा गुन्न सी.पी. ;-)
कीथ

1
OS X पर, -u विकल्प मौजूद नहीं है। मैं बस cp -r पुराने dir नए dir का उपयोग करता था, क्योंकि मुझे तारीखों की तुलना नहीं करनी थी।
जीन-फ्रांस्वा ब्यूचैम्प

काम नहीं करता। मुझे यकीन नहीं है कि यह कुछ नाम सम्मेलन है, लेकिन cp -ru फ़ोल्डर-ए फ़ोल्डर-बी बस फ़ोल्डर-ए की नकल करेगा फ़ोल्डर-बी के अंदर ए और बी के अधिलेखित सामग्री की प्रतिलिपि नहीं है, जो वांछित प्रभाव होगा।
srcspider

1

एक और अच्छा विकल्प यूनिसन ( http://www.cis.upenn.edu/~bcpierce/unison/ ) है, खासकर अगर वास्तव में "स्रोत" और "गंतव्य" नहीं है। प्रत्येक निर्देशिका एक रूट है और यूनिसन उन्हें सिंक करता है और भविष्य के सिंक के लिए मेटाडेटा रखता है। यह कमांड-लाइन और GUI दोनों विकल्प प्रदान करता है जिसे आसानी से क्रोन के माध्यम से भी निर्धारित किया जा सकता है।

मैं अपने ड्रॉपबॉक्स का बैकअप अपने स्थानीय NAS उपकरण पर बनाने के लिए उपयोग करता हूं जो ड्रॉपबॉक्स क्लाइंट नहीं चला सकता।


1

यह अच्छे ol 'cp के साथ किया जा सकता है, हालाँकि ऊपर बताए गए थोड़े अलग प्रारूप के साथ। यहाँ मैंने यह कैसे किया:

cp -ru --target-directory="destination_path" source_path/*

1

आप 2 निर्देशिकाओं को अलग कर सकते हैं।

diff -r dir1 dir2

यह आपको उन फाइलों की सूची दिखाएगा जो डिफरनेट हैं

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