सीधे सामग्री पर जाएँ

diff · + जोड़ा · − हटाया

टेक्स्ट तुलना

“red, green, blue” की “red, yellow, blue” से पंक्ति-दर-पंक्ति तुलना करने पर 1 पंक्ति जुड़ी, 1 पंक्ति हटी और 2 अपरिवर्तित मिलती हैं। हर अंतर देखने के लिए दो टेक्स्ट पेस्ट करें।

हर जोड़ी गई पंक्ति पर + और हर हटाई गई पंक्ति पर − का निशान होता है, रंग के साथ-साथ, और बदली हुई पंक्ति के भीतर बदले अक्षर हाइलाइट होते हैं। छोटे टेक्स्ट टाइप करते ही तुलना हो जाते हैं; टेक्स्ट इस टैब से बाहर नहीं जाता।

Scanned by NortonTM Safe Web

एक नज़र में

क़ीमत
कोई शुल्क नहीं
खाता
ज़रूरत नहीं
अपलोड
लागू नहीं — दोनों टेक्स्ट आपके टैब में रहते हैं
तरीक़ा
पंक्तियों की सबसे लंबी साझा अनुक्रमिका, बदले अक्षर हाइलाइट के साथ
आउटपुट
रंगीन और चिह्नित पंक्तियाँ, या 3 पंक्तियों के संदर्भ वाला unified diff
आकार की सीमा
हर टेक्स्ट में 5,000 पंक्तियाँ और 5,000,000 अक्षर

एक हल की हुई तुलना और विकल्पों का असर

तालिकाएँ टूल के ही कोड से निकली हैं। पहली दो तीन-पंक्ति वाले टेक्स्ट की तुलना करती है; दूसरी दिखाती है कि पंक्तियों की एक जोड़ी पर विकल्प नतीजा कैसे बदलते हैं।

“red, green, blue” की “red, yellow, blue” से तुलना, एक-एक पंक्ति में
चिह्नपंक्ति
=red
−green
+yellow
=blue
“Hello World” की “hello world” (दो स्पेस) से तुलना
सेटिंगजुड़ी पंक्तियाँहटी पंक्तियाँ
सटीक11
अक्षर-केस अनदेखा11
खाली जगह अनदेखी11
अक्षर-केस और खाली जगह अनदेखी00

दो टेक्स्ट की तुलना कैसे करें

1

दोनों टेक्स्ट पेस्ट करें

पुराना टेक्स्ट मूल बॉक्स में और नया टेक्स्ट बदले हुए बॉक्स में डालें। दो छोटे नमूने पहले से वहाँ हैं। अदला-बदली दोनों बॉक्स आपस में बदल देती है, और दोनों साफ़ करें दोनों को ख़ाली कर देता है।

2

तय करें कि अंतर किसे माना जाए

“Hello” और “hello” को एक ही पंक्ति मानने के लिए अक्षर-केस अनदेखा करें टिक करें, और पंक्ति के सिरों के स्पेस और भीतर के दोहराए स्पेस को अनदेखा करने के लिए खाली जगह अनदेखा करें। केवल बदलाव दिखाएँ बिना बदली पंक्तियों को समेट देता है, हर बदलाव के आसपास 3 पंक्तियाँ रखते हुए।

3

अंतर पढ़ें या कॉपी करें

− वाली पंक्तियाँ सिर्फ़ मूल टेक्स्ट में हैं, + वाली पंक्तियाँ सिर्फ़ बदले हुए टेक्स्ट में। unified diff को संदेश या पैच में चिपकाने के लिए कॉपी करें, या .diff फ़ाइल के रूप में डाउनलोड करें।

तुलना कैसे काम करती है

दोनों टेक्स्ट पंक्तियों में बाँटे जाते हैं, और टूल पंक्तियों की सबसे लंबी साझा अनुक्रमिका खोजता है: पंक्तियों का सबसे बड़ा समूह जो दोनों टेक्स्ट में एक ही क्रम में आता है। उस समूह के बाहर की हर पंक्ति हटाई गई (सिर्फ़ मूल में) या जोड़ी गई (सिर्फ़ बदले हुए टेक्स्ट में) बताई जाती है, इसलिए diff में कम से कम बदली पंक्तियाँ आती हैं। जहाँ हटाई गई पंक्ति के ठीक बाद जोड़ी गई पंक्ति आती है, वहाँ दोनों के बीच अलग अक्षर हाइलाइट होते हैं।

diff पंक्तियों पर काम करता है क्योंकि कोड, कॉन्फ़िगरेशन फ़ाइलें और सूचियाँ पंक्तियों की इकाई में बदलती हैं, और पंक्ति की तुलना हज़ारों पंक्तियों पर भी तेज़ रहती है। जो पंक्ति खिसकी हो वह एक बार हटी और एक बार जुड़ी दिखती है; बदला हुआ शब्द बदली हुई पंक्ति के रूप में दिखता है, अक्षर हाइलाइट के साथ। पंक्ति-अंत एक जैसे कर दिए जाते हैं, इसलिए Windows पंक्ति-विराम के साथ सहेजी फ़ाइल उसी फ़ाइल से मेल खाती है जो Unix पंक्ति-विराम के साथ सहेजी हो। हर टेक्स्ट में 5,000 पंक्तियाँ और 5,000,000 अक्षर तक हो सकते हैं। unified diff आउटपुट आम रूप इस्तेमाल करता है: --- और +++ हेडर, फिर 3 पंक्तियों के संदर्भ वाले @@ हंक।

टेक्स्ट तुलना से जुड़े सवाल

टेक्स्ट diff कैसे तय करता है कि क्या बदला?

यह पंक्तियों की सबसे लंबी साझा अनुक्रमिका खोजता है, यानी वे सबसे ज़्यादा पंक्तियाँ जो दोनों टेक्स्ट में एक ही क्रम में हैं। उसके बाहर की पंक्तियाँ − से चिह्नित होती हैं अगर सिर्फ़ मूल में हों और + से अगर सिर्फ़ बदले हुए टेक्स्ट में। “red, green, blue” की “red, yellow, blue” से तुलना में red और blue रहते हैं, green हटता है और yellow जुड़ता है।

तुलना पंक्तियों पर क्यों होती है, शब्दों पर क्यों नहीं?

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

रंगों और + और − चिह्नों का क्या मतलब है?

+ से चिह्नित हरी पंक्ति बदले हुए टेक्स्ट में जोड़ी गई थी। − से चिह्नित लाल पंक्ति मूल से हटाई गई थी। बिना निशान वाली पंक्तियाँ दोनों में एक जैसी हैं। रंगों के साथ चिह्न भी छपते हैं, इसलिए लाल और हरे का फ़र्क़ किए बिना भी नतीजा पढ़ा जा सकता है।

अक्षर-केस या स्पेस के अंतर कैसे अनदेखे करूँ?

बड़े-छोटे अक्षर का ध्यान रखे बिना पंक्तियाँ मिलाने के लिए अक्षर-केस अनदेखा करें टिक करें, और पंक्ति के आरंभ और अंत के स्पेस अनदेखे करने तथा भीतर के स्पेस के किसी भी समूह को एक स्पेस मानने के लिए खाली जगह अनदेखा करें। दोनों टिक होने पर “Hello World” और “hello world” एक ही पंक्ति हैं।

दोनों टेक्स्ट कितने बड़े हो सकते हैं?

हर टेक्स्ट में 5,000 पंक्तियाँ और 5,000,000 अक्षर तक हो सकते हैं। 5,000 पंक्तियों के टेक्स्ट की अपनी क्रम बदली प्रति से तुलना आज के कंप्यूटर पर एक सेकंड से काफ़ी कम में हो जाती है। कुल 100,000 अक्षरों से ऊपर तुलना टाइप करते ही नहीं, तुलना करें दबाने पर शुरू होती है।

unified diff क्या है?

यह diff और Git में इस्तेमाल होने वाला टेक्स्ट रूप है। यह दोनों टेक्स्ट के नाम वाली --- और +++ पंक्ति से शुरू होता है, फिर बदलावों के हर समूह के लिए एक ब्लॉक। ब्लॉक @@ -1,3 +1,3 @@ जैसे हेडर से शुरू होता है, जिसका मतलब है मूल की पंक्ति 1 से 3 पंक्तियाँ और बदले हुए टेक्स्ट की पंक्ति 1 से 3 पंक्तियाँ, और हर पंक्ति स्पेस, + या − से शुरू होती है।