मैं cp
एक निर्देशिका चाहता हूं लेकिन मैं किसी भी मौजूदा फाइल को ओवरराइट नहीं करना चाहता हूं, भले ही वे प्रतिलिपि बनाई गई फाइलों से बड़े हों। और मैं इसे पूरी तरह से noniteractive करना चाहता हूँ क्योंकि यह एक crontab बैश स्क्रिप्ट का हिस्सा होगा। कोई विचार?लिनक्स कैसे कॉपी करें लेकिन ओवरराइट नहीं करें?
उत्तर
man page से लिया:
-n, --no-clobber
do not overwrite an existing file (overrides a previous -i option)
उदाहरण:
cp -n myoldfile.txt mycopiedfile.txt
इसके बजाय का उपयोग 'rsync -a -v --ignore मौजूदा
मैंने किया 'cp -n config.js.sample config.js' और यह –
@ व्हाइटबर्ड का समाधान स्पॉट-ऑन भी काम करता है। –
cp -n
क्या आप चाहते हैं। मैन पेज देखें।
लोग पाते हैं कि कि (RedHat पर मेरे जैसे) एक 'एन' विकल्प नहीं है के लिए आप cp -u
का उपयोग कर सकते केवल स्रोत लिखें यदि स्रोत मौजूदा से नया है (या कोई मौजूदा नहीं है)।
[संपादित करें] टिप्पणियों में उल्लिखित अनुसार, यह पुरानी फाइलों को ओवरराइट करेगा, इसलिए ओपी वांछित नहीं है। उस के लिए छत का जवाब का प्रयोग करें।
ओपी ने मौजूदा फाइलों को ओवरराइट नहीं करने के लिए कहा ** भले ही वे कॉपी की गई फाइलों से पुराने हैं **, इसलिए '-यू' वास्तव में उद्देश्य के अनुरूप नहीं है। –
अच्छाई, आप बिल्कुल सही हैं। मुझे आश्चर्य है कि किसी को भी नोटिस करने में इतना समय लगा। –
rsync
का उपयोग करने पर विचार करें।
rsync -a -v src dst
लेकिन यह अगर अद्यतन फ़ाइलें अलग होगा।
टिप्पणियों के अनुसार
rsync -a -v --ignore-existing src dst
पूरी तरह से मौजूदा फ़ाइलों अनदेखी करेंगे।
अल्पाइन linux: जवाब नीचे है केवल एकल फाइल के मामले के लिए: (और false | cp -i ...
भी) अल्पाइन cp -n
में काम नहीं कर तो समाधान मेरे मामले कि मैंने पाया में काम कर रहा है:
if [ ! -f env.js ]; then cp env.example.js env.js; fi
ऊपर के उदाहरण में हम जांचते हैं कि env.js
फ़ाइल मौजूद है और यदि नहीं, तो हम env.example.js
को env.js
के रूप में कॉपी करते हैं।
- 1. कॉपी करें लेकिन
- 2. ट्विटर बूटस्ट्रैप टूलटिप को ओवरराइट कैसे करें?
- 3. रेल: ओवरराइट कैसे करें: विधि को नष्ट करें?
- 4. गिट: स्थानीय परिवर्तन को ओवरराइट कैसे करें?
- 5. गिट पुश के साथ ओवरराइट कैसे करें, गिट सर्वर में परिवर्तनों को ओवरराइट करें?
- 6. nuget फ़ाइलों को ओवरराइट करें
- 7. फ़ाइल के बीच में ओवरराइट करें
- 8. Google क्लाउड स्टोरेज - GSUtil - फ़ाइलों को कॉपी करें, मौजूदा छोड़ें,
- 9. एक रजिस्टर से दूसरे में कॉपी करें
- 10. कॉपी को मजबूर करने का कोई तरीका है? विंडोज़ का उपयोग कर, ओवरराइट प्रॉम्प्ट के बिना कॉपी करें?
- 11. लिनक्स/बैश: अनकोट कैसे करें?
- 12. एक्सएसएलटी 1.0 में कॉपी-नेमस्पेस = "नहीं" की नकल कैसे करें?
- 13. कॉपी करने योग्य नहीं है, लेकिन चलने योग्य, C++
- 14. django फॉर्म क्लीन विधि को ओवरराइट करें
- 15. पोस्टग्रेस कॉपी कैसे करें बड़ी txt फ़ाइल
- 16. बूस्ट को असाइन/कॉपी कैसे करें :: multi_array
- 17. विंडोज़: उपयोग में फ़ाइल को ओवरराइट करें
- 18. स्ट्रीम। कॉपी करें - फ़ाइल खाली करें। asp.net
- 19. jquery इवेंट हैंडलर को ओवरराइट करने के लिए कैसे करें
- 20. एफओएस उपयोगकर्ता बंडल फॉर्म लेबल्स को ओवरराइट कैसे करें
- 21. क्लिपबोर्ड पर BufferedImage कॉपी करें
- 22. एफ # में क्लिपबोर्ड पर कैसे कॉपी करें?
- 23. लिनक्स/यूनिक्स पर "एबीसी" से शुरू होने वाली निर्देशिकाओं को दोबारा कैसे कॉपी करें?
- 24. ओएस में नाम ओवरराइट करें। रेनम
- 25. एक txt फ़ाइल में डेटा को ओवरराइट कैसे करें?
- 26. बैच में मौजूदा फ़ाइलों को ओवरराइट कैसे करें?
- 27. jQuery अजाक्स: कॉपी करें - चिपकाएं
- 28. RPATH का उपयोग करें लेकिन रनपत नहीं?
- 29. HttpURLConnection में http-header "होस्ट" को ओवरराइट कैसे करें?
- 30. डुबकी में एचडीएफएस को स्टोर (ओवरराइट) कैसे मजबूर करें?
https://unix.stackexchange.com/questions/67539/how-to-rsync-only-new-files – n611x007