2009-08-21 15 views
14

rsync का उपयोग करते हुए, --files से तर्क के साथ प्रतिलिपि बनाते समय मैं फ़ाइलों का नाम कैसे बदल सकता हूं? मेरे पास लगभग 190,000 फाइलें हैं, जिनमें से प्रत्येक को स्रोत से गंतव्य पर कॉपी करते समय पुनर्नामित करने की आवश्यकता है। मैं तर्क से फाइलों को पास करने के लिए टेक्स्ट फ़ाइल में फ़ाइलों की सूची रखने की योजना बना रहा हूं।फाइलों का नाम बदलने के लिए rsync का उपयोग करके - फाइलों से प्रतिलिपि बनाते समय?

उत्तर

8

मनमाने ढंग से rsync के साथ फ़ाइलों का नाम बदलने का कोई तरीका नहीं है। सभी rsync कर सकते हैं फ़ाइलों को एक अलग निर्देशिका में ले जाया जाता है।

आपको फाइलों का नाम बदलने के लिए भेजने या प्राप्त करने के पक्ष में एक दूसरा टूल का उपयोग करना होगा।

13

पूरी तरह से सच नहीं है ... आप rsync के साथ enroute फ़ाइलों का नाम बदल सकते हैं, लेकिन केवल अगर आप एक समय में एक फ़ाइल rsync, और --no-R --no-implied-dirs विकल्प सेट करें, तो स्पष्ट रूप से सेट करें गंतव्य पथ में गंतव्य नाम।

लेकिन उस समय, आप बस कुछ अन्य टूल का उपयोग करना चाह सकते हैं।

यह, उदाहरण के लिए, काम करेगा:

rsync --no-R --no-implied-dirs 
1.2.3.4::module/$FILENAME 
/$PATH/$TOFILE/$NEWFILENAME 
+4

वास्तव में, rsync कुछ परिस्थितियों में एक एकल फाइल के लिए उपयोगी है। अगर फ़ाइल बड़ी है, और या तो केवल मामूली परिवर्तन हुए हैं, या केवल इसमें शामिल किया गया है, यह एक अच्छा फिट है। –

+1

मैन पेज के अनुसार, '--no-implied-dirs' केवल प्रभावित करता है कि कैसे '--relative' काम करता है। और '--relative'' -R' जैसा ही है। लेकिन आप '--no-R' का उपयोग करते हैं, जो मुझे आश्चर्य करता है कि उस मामले में'no-implied-dirs' का क्या प्रभाव होना चाहिए? – Mecki

संबंधित मुद्दे