लिनक्स में दो फाइलों की तुलना कैसे करें

How Compare Two Files Linux



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

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







उदाहरणों में गोता लगाने से पहले, ध्यान दें कि फाइलों का क्रम बहुत महत्वपूर्ण है। क्योंकि अंतर कमांड फाइलों के क्रम के आधार पर आउटपुट देता है।



फाइलों की तुलना करने के लिए लिनक्स में डिफरेंट कमांड का उपयोग कैसे करें:

का सिंटैक्स अंतर कमांड का उल्लेख नीचे किया गया है:



$अंतर [विकल्प] [फ़ाइल1] [करें 2]

सबसे पहले, दो फाइलें बनाएं। मैं के नाम से टेक्स्ट फाइल बना रहा हूं test_file_1.txt तथा test_file_2.txt . इन फ़ाइलों में थोड़े अंतर वाली सामग्री है:





अंतर प्राप्त करने के लिए अब निम्न आदेश का उपयोग करें:



$अंतरtest_file_1.txt test_file_2.txt

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

फाइलों की तुलना को लेबल किया गया है, और प्रत्येक लेबल के दोनों ओर एक संख्या है। प्रारूप इस प्रकार है:

[फाइल 1 की लाइन नंबर] [लेबल (ए, सी, डी)] [फाइल 2 की लाइन नंबर]

तीन लेबल हैं:

  • प्रति - जोड़ें: दूसरी फ़ाइल के साथ सिंक करने के लिए पहली फ़ाइल में सामग्री जोड़ें।
  • सी - परिवर्तन: इंगित करता है कि दूसरी फ़ाइल से मेल खाने के लिए पहली फ़ाइल की सामग्री में संशोधन की आवश्यकता है।
  • डी - हटाएँ: दूसरी फ़ाइल से मिलान करने के लिए पहली फ़ाइल से सामग्री निकालें।

२डी१ लाइन नंबर 1 से दूसरी फाइल से मिलान करने के लिए पहली फाइल की लाइन नंबर 2 को हटाने का संकेत देता है।

इसी तरह, 4c3 इसका मतलब है कि पहली फ़ाइल की चौथी पंक्ति में दूसरी फ़ाइल की पंक्ति संख्या 3 से मिलान करने के लिए परिवर्तन करना क्योंकि दोनों पंक्तियाँ थोड़ी भिन्न हैं।

अंतर देखने का एक और तरीका है, का उपयोग करें अंतर के साथ आदेश -तथा विकल्प:

$अंतर -तथा -में 60test_file_1.txt test_file_2.txt

उपरोक्त आउटपुट में, की सामग्री test_file_1.txt बाईं ओर प्रदर्शित होता है, जबकि की सामग्री text_file_2.txt दाईं ओर प्रदर्शित होता है। अंतर प्रतीकों द्वारा इंगित किया गया है:

  • | - दूसरी फाइल में लाइन अलग है
  • > — दूसरी फाइल में लाइन अतिरिक्त है
  • <— Line has been deleted from the second file

-W दो फाइलों की सामग्री के बीच की चौड़ाई को इंगित करता है। अलग से प्राप्त करने और अंतर देखने के लिए, निम्नलिखित का उपयोग करें:

$अंतर -तथा -में 60 --suppress-common-linestest_file_1.txt test_file_2.txt

डिफरेंट कमांड का उपयोग करके एक लाइन में आउटपुट कैसे प्राप्त करें:

यदि आपके लिए लेबल की गई विधि को डिकोड करना कठिन है, तो एक सरल तरीका है। का उपयोग करते हुए -क्यू के साथ विकल्प अंतर कमांड आपको एक लाइन में आउटपुट देता है। खैर, बिना किसी अतिरिक्त जानकारी के, हालांकि:

$अंतर -क्यूtest_file_1.txt test_file_2.txt

यदि फ़ाइलें भिन्न हैं, तो उपरोक्त आदेश एक आउटपुट देगा। यदि फ़ाइलें समान हैं, तो कोई आउटपुट नहीं होगा। इसे प्रदर्शित करने के लिए, मैं की एक प्रति बना रहा हूँ test_file_1.txt का उपयोग करना:

$सीपीtest_file_1.txt test_file_3.txt

के नाम से एक नई फाइल बनाई जाएगी test_file_3.txt एक ही सामग्री युक्त है कि test_file_1.txt है। अब, उपयोग करें:

$अंतर -क्यूtest_file_1.txt test_file_2.txt

चूंकि दोनों फाइलों में समान सामग्री है, इसलिए कोई आउटपुट नहीं होगा।

संदर्भ मोड में फ़ाइलों के अंतर की जांच करने के लिए Diff कमांड का उपयोग कैसे करें:

संदर्भ मोड में तुलना प्राप्त करने के लिए, -सी विकल्प के साथ प्रयोग किया जाएगा अंतर आदेश:

$अंतर -सीtest_file_1.txt test_file_2.txt

आइए आउटपुट को विच्छेदित करें।

अंतर बनाए रखने के लिए, पहली फ़ाइल को निर्माण की तारीख और समय के साथ *** द्वारा दर्शाया गया है, जबकि दूसरी फ़ाइल को - द्वारा दर्शाया गया है।

अगली पंक्ति तुलना के दौरान मानी जाने वाली रेखाओं की एक श्रृंखला को दर्शाती है। पहली फ़ाइल के लिए, यह है *** 1.6 **** और दूसरी फ़ाइल के लिए, यह है —1.5—- :

अंतर प्रतीकों द्वारा इंगित किया गया है:

  • + : पहली फाइल में लाइन मौजूद नहीं है। इसे पहली फाइल में डालें या दोनों फाइलों से मेल खाने के लिए इसे दूसरी फाइल से हटा दें।
  • - : लाइन पहली फाइल में मौजूद है लेकिन दूसरी फाइल में नहीं। इसे दूसरी फ़ाइल में सम्मिलित करने का प्रयास करें या दोनों फ़ाइलों से मेल खाने के लिए इसे पहले से हटा दें।
  • ! : मिलान के लिए रेखा को संशोधन की आवश्यकता है।

डिफरेंट कमांड का उपयोग करके यूनिफाइड मोड में फाइलों के अंतर की जांच कैसे करें:

एकीकृत मोड काफी हद तक संदर्भ मोड के समान है लेकिन बिना किसी अनावश्यक जानकारी के। हम जिस ध्वज का उपयोग करते हैं वह है यू :

$अंतर यूtest_file_1.txt test_file_2.txt

आउटपुट में, पहली फ़ाइल - और दूसरी +++ द्वारा इंगित की जाती है। दूसरी पंक्ति दोनों फाइलों में तुलना के लिए मानी जाने वाली पंक्तियों की संख्या दिखाती है, फिर उनके साथ प्रतीकों के साथ हटाए जाने, जोड़े जाने या संशोधित की जाने वाली सामग्री। दोनों फाइलों में समान रेखाओं वाला कोई प्रतीक नहीं होगा।

डिफरेंट कमांड का उपयोग करते समय केस सेंसिटिविटी को कैसे नजरअंदाज करें:

यदि आप केस संवेदनशीलता को अनदेखा करते हुए फ़ाइलों की तुलना करना चाहते हैं, तो इसका उपयोग करें -मैं झंडा:

$अंतर -मैंtest_file_1.txt test_file_2.txt

प्रदर्शन के लिए, मैंने बनाया है डी का गहराई में पहली फ़ाइल में छोटा:

जैसा कि पहले आदेश में देखा गया है, अंतर इंगित किया गया है; प्रयोग करते समय -मैं वह अंतर हटा दिया गया है।

के कुछ अन्य उपयोगी विकल्प अंतर आदेश नीचे सूचीबद्ध हैं:

विकल्प विवरण
-प्रति यह विकल्प सभी फाइलों को टेक्स्ट फाइलों के रूप में मानता है
-बी यह उन संशोधनों को अनदेखा करता है जहां रेखाएं सभी खाली होती हैं
-तथा यह विकल्प टैब विस्तार पर ध्यान नहीं देता
-मैं यह उन परिवर्तनों को अनदेखा करता है जहाँ सभी रेखाएँ मेल खाती हैं
-एस जब दो फाइलें समान होती हैं तो आउटपुट देता है
-में यह सभी सफेद स्थान की उपेक्षा करता है
-साथ यह लाइन के अंत में सफेद स्थान की उपेक्षा करता है

दो फाइलों की तुलना करने के लिए विम संपादक का उपयोग कैसे करें:

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

$सुडोउपयुक्तइंस्टॉल मैं आया

अब, दो फाइलों की तुलना करने के लिए उपयोग करें:

$vimdiff test_file_1.txt test_file_2.txt

दोनों फाइलें साथ-साथ खोली जाएंगी। जो भाग मेल नहीं खाता है उसे हाइलाइट किया जाएगा:

Colordiff का उपयोग करके दो फ़ाइलों की तुलना कैसे करें:

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

$सुडोउपयुक्तइंस्टॉलकोलोर्डिफ

फ़ाइलों की तुलना करने के लिए, उपयोग करें:

$colordiff test_file_1.txt test_file_2.txt

आप बदल सकते हैं अंतर साथ कोलोर्डिफ का मानक आउटपुट प्राप्त करने के लिए अंतर रंगीन प्रारूप में आदेश।

निष्कर्ष:

Linux में और यहां तक ​​कि macOS में फ़ाइलों की तुलना करने के लिए, उपयोग की जाने वाली उपयोगिता को अंतर कहा जाता है। Diff उपयोगिता दो फाइलों की तुलना करती है और दो फाइलों के बीच अंतर के बारे में जानकारी देती है। पैच फ़ाइलें बनाने के लिए डेवलपर्स मुख्य रूप से diff कमांड का उपयोग करते हैं।

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