मैं आमतौर पर rsync
इस कार्य के लिए उपयोग करता हूं :
rsync -nav --delete DIR1/ DIR2
हमेशा-n
, उर्फ--dry-run
, विकल्प काउपयोग करने के लिए सावधान रहें, या यह निर्देशिकाओं की सामग्री को बदल देगा (सामग्री को बदल देगा)।
यह फ़ाइल संशोधन समय और आकार के आधार पर फ़ाइलों की तुलना करेगा ... मुझे लगता है कि आप वास्तव में क्या चाहते हैं, या कम से कम आपको कोई आपत्ति नहीं है अगर ऐसा होता है? मुझे समझ में आया कि आप चाहते हैं कि यह तेज़ी से हो , न कि आपको फ़ाइल सामग्री के बीच के अंतर को अनदेखा करने की आवश्यकता हो। यदि आप चाहते हैं कि यह समान नामों के साथ अलग-अलग फ़ाइलों को सूचीबद्ध न करें, तो मुझे लगता --ignore-existing
है कि विकल्प का जोड़ ऐसा करेगा।
यह भी जान लें कि /
अंत में नहीं डालने से DIR1
यह निर्देशिका DIR1
की सामग्री के साथ तुलना करने का कारण होगा DIR2
।
आउटपुट थोड़ा वर्बोज़ होने से समाप्त होता है, लेकिन यह आपको दिखाएगा कि कौन सी फाइलें / निर्देशिका अलग-अलग हैं। फ़ाइलें / निर्देशिका में मौजूद DIR2
हैं और इनमें नहीं DIR1
शब्द के साथ आरंभ हो जाएगा deleting
।
कुछ स्थितियों के लिए, @ slartibartfast का उत्तर अधिक उपयुक्त हो सकता है, हालांकि आपको -type d
गैर-निर्देशिका फ़ाइलों की सूची को सक्षम करने के लिए विकल्प को हटाने की आवश्यकता होगी । rsync
यदि आप तुलना करने के लिए फ़ाइलों / निर्देशिकाओं की एक महत्वपूर्ण संख्या प्राप्त कर चुके हैं तो और तेज़ हो जाएगा।