यह मार्गदर्शिका आपको दिखाएगी कि लिनक्स का उपयोग दो फाइलों की तुलना करने के लिए और स्क्रीन या फ़ाइल में उनके अंतर को आउटपुट करने के लिए कैसे किया जाए।
लिनक्स का उपयोग कर फ़ाइलों की तुलना करने के लिए आपको किसी विशेष सॉफ्टवेयर को स्थापित करने की आवश्यकता नहीं है, लेकिन आपको टर्मिनल विंडो को खोलने के बारे में जानने की आवश्यकता है।
चूंकि लिंक किए गए मार्गदर्शिका से पता चलता है कि लिनक्स का उपयोग करके टर्मिनल विंडो खोलने के कई तरीके हैं। एक ही समय में CTRL, ALT और T कुंजी दबाएं सबसे आसान है।
तुलना करने के लिए फाइलें बनाना
इस गाइड के साथ-साथ "file1" नामक फ़ाइल बनाने के लिए निम्न पाठ दर्ज करें:
एक दीवार पर खड़ी 10 हरी बोतलें
एक दीवार पर खड़ी 10 हरी बोतलें
अगर एक हरी बोतल गलती से गिरनी चाहिए
दीवार पर खड़े 9 हरी बोतलें होंगी
आप इन निर्देशों का पालन करके एक फ़ाइल बना सकते हैं:
- निम्न आदेश टाइप करके फ़ाइल खोलें: नैनो फ़ाइल 1
- पाठ को नैनो संपादक में टाइप करें
- फ़ाइल को सहेजने के लिए CTRL और O दबाएं
- फ़ाइल से बाहर निकलने के लिए CTRL और X दबाएं
अब "file2" नामक एक और फ़ाइल बनाएं और निम्न पाठ दर्ज करें:
एक दीवार पर खड़ी 10 हरी बोतलें
यदि 1 हरी बोतल गलती से गिरनी चाहिए
दीवार पर खड़े 9 हरी बोतलें होंगी
आप इन निर्देशों का पालन करके एक फ़ाइल बना सकते हैं:
- निम्न आदेश टाइप करके फ़ाइल खोलें: nano file2
- पाठ को नैनो संपादक में टाइप करें
- फ़ाइल को सहेजने के लिए CTRL और O दबाएं
- फ़ाइल से बाहर निकलने के लिए CTRL और X दबाएं
लिनक्स का उपयोग कर दो फाइलों की तुलना कैसे करें
2 फाइलों के बीच अंतर दिखाने के लिए लिनक्स के भीतर उपयोग किया जाने वाला आदेश diff कमांड कहा जाता है।
Diff कमांड का सबसे सरल रूप निम्नानुसार है:
diff file1 file2
अगर फाइलें समान हैं तो इस कमांड का उपयोग करते समय कोई आउटपुट नहीं होगा, हालांकि, अंतर हैं क्योंकि आप निम्न के जैसा आउटपुट देखेंगे:
2,4c2,3
दीवार पर खड़े <10 हरी बोतलें
<अगर एक हरी बोतल गलती से गिरनी चाहिए
<दीवार पर खड़े 9 हरी बोतलें होंगी
...
> यदि 1 हरी बोतल गलती से गिरनी चाहिए
> दीवार पर खड़े 9 हरी बोतलें होंगी
प्रारंभ में, आउटपुट भ्रमित प्रतीत हो सकता है लेकिन एक बार जब आप शब्दावली को समझते हैं तो यह काफी तार्किक है।
अपनी आंखों का उपयोग करके आप देख सकते हैं कि 2 फाइलों के बीच अंतर निम्नानुसार हैं:
- दूसरी फ़ाइल में केवल तीन पंक्तियां हैं जबकि पहली फ़ाइल में 4 है।
- दूसरी फाइल तीसरी पंक्ति पर "1 हरी बोतल" कहती है जबकि पहली फाइल "एक हरी बोतल" कहती है
- दूसरी फाइल अंतिम पंक्ति पर "वहां" की बजाय "वहां" होगी
Diff कमांड से आउटपुट से पता चलता है कि पहली फ़ाइल के लाइन 2 और 4 और दूसरी फ़ाइल के लाइन 2 और 3 के बीच मतभेद हैं।
इसके बाद पहली फ़ाइल से 2 से 4 तक लाइनों की सूची होती है और दूसरी फ़ाइल में 2 अलग-अलग पंक्तियां होती हैं।
फ़ाइलों को अलग करने के लिए बस कैसे दिखाएं
यदि आप सिर्फ यह जानना चाहते हैं कि फाइलें अलग हैं या आप रुचि नहीं रखते हैं कि कौन सी रेखाएं अलग हैं तो आप निम्न आदेश चला सकते हैं:
diff -q file1 file2
यदि फाइलें अलग हैं तो निम्नलिखित प्रदर्शित की जाएंगी:
फ़ाइलें फ़ाइल 1 और फ़ाइल 2 भिन्न हैं
अगर फाइलें समान हैं तो कुछ भी प्रदर्शित नहीं होता है।
एक संदेश कैसे दिखाएं यदि फ़ाइलें वही हैं
जब आप कोई आदेश चलाते हैं तो आप जानना चाहते हैं कि यह सही तरीके से काम कर रहा है, इसलिए जब आप diff कमांड चलाते हैं तो आप एक संदेश को प्रदर्शित करना चाहते हैं चाहे फाइलें समान हों या अलग हों
Diff कमांड का उपयोग करके इस आवश्यकता को प्राप्त करने के लिए, आप निम्न आदेश का उपयोग कर सकते हैं:।
diff -s file1 file2
अब अगर फाइलें समान हैं तो आपको निम्न संदेश प्राप्त होगा:
फ़ाइलें फ़ाइल 1 और फ़ाइल 2 समान हैं
साइड द्वारा मतभेद साइड कैसे तैयार करें
यदि बहुत सारे मतभेद हैं तो यह दो फाइलों के बीच वास्तव में अंतर के रूप में क्या हो सकता है, यह बहुत जल्दी भ्रमित हो सकता है।
आप diff कमांड के आउटपुट को बदल सकते हैं ताकि परिणाम एक तरफ दिखाए जा सकें। ऐसा करने के लिए निम्न आदेश चलाएं:
diff -y file1 file2
फ़ाइल के लिए आउटपुट का उपयोग करता है दो पंक्तियों के बीच एक अंतर दिखाने के लिए प्रतीक, <एक पंक्ति को दिखाने के लिए और एक> जो जोड़ा गया है उसे दिखाने के लिए।
दिलचस्प बात यह है कि यदि आप हमारी प्रदर्शन फ़ाइलों का उपयोग करके कमांड चलाते हैं तो सभी लाइनें फाइल 2 की अंतिम पंक्ति को छोड़कर अलग-अलग दिखाई देंगी जिन्हें हटाए जाने के रूप में दिखाया जाएगा।
कॉलम चौड़ाई को प्रतिबंधित करना
दो फाइलों की तरफ से तुलना करते समय, फ़ाइलों को पढ़ने के बहुत सारे कॉलम होने पर पढ़ना मुश्किल हो सकता है।
कई स्तंभों को प्रतिबंधित करने के लिए निम्न आदेश का उपयोग करें:
diff --width = 5 फ़ाइल फ़ाइल 2
फ़ाइलों की तुलना करते समय केस अंतरों को अनदेखा कैसे करें
यदि आप दो फाइलों की तुलना करना चाहते हैं लेकिन आपको परवाह नहीं है कि अक्षरों का मामला दो फाइलों के बीच समान है, तो आप निम्न आदेश का उपयोग कर सकते हैं:
diff -i file1 file2
एक लाइन के अंत में पिछली सफेद जगह को अनदेखा कैसे करें
यदि फ़ाइलों की तुलना करते समय आप अंतरों के भार को देखते हैं और रेखाओं के अंत में सफेद स्थान के कारण मतभेद होते हैं तो आप इन आदेशों को निम्न आदेश चलाकर परिवर्तन के रूप में दिखा सकते हैं:
diff -Z फ़ाइल 1 फ़ाइल 2
दो फाइलों के बीच सभी सफेद अंतरिक्ष मतभेदों को कैसे नजरअंदाज करें
यदि आप केवल फ़ाइल में टेक्स्ट में दिलचस्पी रखते हैं और आपको परवाह नहीं है कि दूसरे में एक से अधिक रिक्त स्थान हैं, तो आप निम्न आदेश का उपयोग कर सकते हैं:
diff -w फ़ाइल 1 फ़ाइल 2
दो फाइलों की तुलना करते समय खाली रेखाओं को अनदेखा कैसे करें
यदि आपको कोई परवाह नहीं है कि एक फ़ाइल में अतिरिक्त रिक्त रेखाएं हो सकती हैं तो आप निम्न आदेश का उपयोग कर फ़ाइलों की तुलना कर सकते हैं:
diff -b फ़ाइल 1 फ़ाइल 2
सारांश
आप diff कमांड के लिए मैन्युअल पढ़ने के द्वारा अधिक जानकारी प्राप्त कर सकते हैं।
आदमी diff
Diff कमांड को केवल 2 फाइलों के बीच अंतर दिखाने के लिए अपने सबसे सरल रूप में उपयोग किया जा सकता है लेकिन आप इसे पैचिंग रणनीति के हिस्से के रूप में एक diff फ़ाइल बनाने के लिए भी उपयोग कर सकते हैं जैसा कि इस मार्गदर्शिका में लिनक्स पैच कमांड में दिखाया गया है।
फ़ाइलों की तुलना करने के लिए आप एक और कमांड का उपयोग कर सकते हैं जैसा कि इस गाइड द्वारा दिखाया गया है cmp कमांड । यह बाइट द्वारा फाइल बाइट की तुलना करता है।