एक मैक पर diff का उपयोग कर दो निर्देशिका सामग्री की तुलना करें

यदि आप मैक पर दो फ़ोल्डरों के बीच अंतर देखना चाहते हैं, या दो निर्देशिका सामग्री की तुलना करना चाहते हैं, तो आप आसानी से शक्तिशाली diff कमांड की मदद से ऐसा कर सकते हैं।

यह ट्यूटोरियल आपको टर्मिनल का उपयोग करके दो निर्देशिकाओं और उन निर्देशिकाओं की सामग्री की तुलना करने के तरीके दिखाएगा। यह कमांड लाइन दृष्टिकोण एक फ़ाइल आउटपुट करेगा जिसमें दो लक्ष्य फ़ोल्डर्स के बीच दिखाए गए सटीक अंतर होते हैं।

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

Diff के साथ दो निर्देशिकाओं की सामग्री की तुलना कैसे करें

प्रारंभ करने के लिए, मैक ओएस (टर्मिनल / एप्लीकेशन / यूटिलिटीज / में मिला) में टर्मिनल लॉन्च करें और फिर निम्न कमांड सिंटैक्स का उपयोग करें:

diff -rq directory1 directory2

जब आपने तुलना करने के लिए उपयुक्त निर्देशिका निर्दिष्ट की है तो वापसी करें। यह निर्देशिका 1 और निर्देशिका 2 की तुलना में diff कमांड निष्पादित करता है (यदि आपके पास फ़ाइल नाम में कोई स्थान वाला फ़ोल्डर है, तो इसे केवल उद्धरणों में रखें: "फ़ोल्डर एक")। हम -rq ध्वज का उपयोग कर रहे हैं क्योंकि इसका मतलब है कि यह उपनिर्देशिका को शामिल करने के लिए पुनरावर्ती है, और -q कमांड आउटपुट को केवल दिखाए गए मतभेदों को सरल बनाता है।

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

$diff -rq directory1 directory2

केवल निर्देशिका 1 में: example221.txt

केवल निर्देशिका 1 में: SuperSecretDifferentFile.rtf

केवल निर्देशिका 2 में: AmazingScript.py

केवल निर्देशिका 2 में: MyFavoriteSong.mp3

केवल निर्देशिका 2 में: MyFavoriteSpecialMovie.mp4

आप एक कदम आगे भी जा सकते हैं और उस कमांड के आउटपुट को फ़ाइल में रीडायरेक्ट कर सकते हैं, मान लें कि इसका नाम diffe.txt है:

diff -rq directory1 directory2 >> differences.txt

यहां एक उदाहरण दिया गया है और वास्तविक प्रिंटआउट कैसा दिखाई देगा। आइए मान लें कि आप "पुराने संगीत" और "नया संगीत" नामक फ़ोल्डरों की तुलना कर रहे हैं, और हम कमांड आउटपुट चाहते हैं कि "musicfolders.txt" नाम की फ़ाइल में उन दो निर्देशिकाओं के बीच अंतर दिखाए, तो निम्न कमांड सिंटैक्स का उपयोग किया जाएगा:

diff -rq "old music" "new music" >> musicfolders.txt

अब diff कमांड को आउटपुट के माध्यम से बनाई गई फ़ाइल के लिए वर्तमान कार्यशील निर्देशिका में देखें, इस मामले में फ़ाइल musicfolders.txt है और सामग्री किसी भी टेक्स्ट एडिटर, कमांड लाइन या अन्यथा देखी जा सकती है। टेक्स्ट फ़ाइल खोलना आपको ऐसा कुछ दिखाई देगा:

Only in old music: song1.mp3
Only in old music: song2.mp3
Only in old music: song3.mp3
Only in new music: instrumental1.mp3
Only in new music: instrumental1.mp3

अगर आप कमांड लाइन से फ़ाइल देखना चाहते हैं, तो कोशिश करें:

more musicfolders.txt

अन्यथा बस उस निर्देशिका में नेविगेट करें और इसे अपने पसंदीदा टेक्स्ट एडिटर में खोलें।

यदि आप परिवर्तनों के साथ एक टेक्स्ट फ़ाइल नहीं बनाना चाहते हैं, तो बस कमांड के आउटपुट रीडायरेक्शन को छोड़ दें। हो सकता है कि आप आउटपुट को स्कैन करना आसान बनाने के लिए 'अधिक' जैसे कुछ को पाइप करना चाहें:

diff -rq "old music" "new music" | more

Diff कमांड काफी शक्तिशाली है और इसके साथ कई अन्य विकल्प उपलब्ध हैं, डिफ के साथ-साथ असंख्य सुविधाओं का उपयोग करने के तरीके पर पूर्ण विवरण प्राप्त करने के लिए मैन डिफ कमांड का उपयोग करें।

यह फिर से उल्लेखनीय है कि यह आदेश मैक ओएस एक्स - सभी संस्करणों के साथ-साथ अधिकांश यूनिक्स आधारित ओएस में भी काम करेगा।