कमांड लाइन से दो निर्देशिकाओं की सामग्री की तुलना करें

अलग-अलग आउटपुट के बिना दो निर्देशिकाओं की विभिन्न सामग्रियों की तुलना करने और सूचीबद्ध करने के लिए, जैसे कि आप diff जैसे कमांड के माध्यम से प्राप्त करते हैं, आप इसके बजाय कमांड कमांड का उपयोग कर सकते हैं। प्रारंभ करने के लिए, टर्मिनल लॉन्च करें और निम्न आदेश टाइप करें, निर्देशिका पथ को उपयुक्त के रूप में समायोजित करें:

comm -3 <(ls -1 folder1) <(ls -1 folder2)

सूचीबद्ध आउटपुट उन फ़ाइलों को होगा जो प्रत्येक फ़ोल्डर में अलग-अलग होते हैं, जिसमें फ़ोल्डर 1 को अनन्य करने के लिए अद्वितीय फाइलें होती हैं, और फाइल 2 को संरेखित करने के लिए अद्वितीय फाइलें सही होती हैं।

उदाहरण के लिए, "पिक्चर्स" नामक फ़ोल्डर की सामग्री और "ओल्ड पिक्चर" नामक फ़ोल्डर की तुलना करने के लिए, उपयोगकर्ता डाउनलोड निर्देशिका में संग्रहीत दोनों, सिंटैक्स निम्न होगा:

comm -3 <(ls -1 ~/Downloads/Pictures) <(ls -1 ~/Downloads/OldPictures)

आउटपुट निम्न जैसा दिख सकता है:

$ comm -3 <(ls -1 ~/Downloads/Pictures) <(ls -1 ~/Downloads/OldPictures)
Folder-1-File.PNG
Folder-2-File copy.PNG
photo 1 copy.PNG
photo 3.PNG

इंडेंटेशन पर ध्यान दें, जो आपको दिखाता है कि कौन सी फाइल प्रत्येक फ़ोल्डर के लिए अद्वितीय हैं। उपरोक्त उदाहरण में, फ़ाइल "फोटो 1 कॉपी.पीएनजी" और "फोटो 3. पीएनजी" सही गठबंधन हैं, इसलिए वे पुरानीचित्र निर्देशिका, और फ़ोल्डर -1-फ़ाइल.पीएनजी और फ़ोल्डर-2-फ़ाइल प्रतिलिपि के लिए अद्वितीय हैं। पीएनजी मूल चित्र फ़ोल्डर के लिए अद्वितीय हैं।

यह मैक ओएस एक्स में बहुत अच्छा काम करता है, लेकिन यह एक सामान्य यूनिक्स कमांड है, इसलिए आपको इसे लिनक्स और अन्य रूपों में भी प्रयोग योग्य बनाना चाहिए। यदि आप किसी भी संगतता समस्याओं में भाग लेते हैं, या यह आदेश अनावश्यक रूप से जटिल होने के लिए पाते हैं, तो समान कार्य करने के लिए diff का उपयोग करने का प्रयास करें।

ट्विटर पर @climagic द्वारा पाई गई महान चाल, @osxdaily भी वहां पर है!