टेक्स्ट तुलना (Diff)

मुफ़्त ऑनलाइन टेक्स्ट तुलना उपकरण। दो टेक्स्ट की पंक्ति-दर-पंक्ति तुलना अपने ब्राउज़र में करें, देखें कि ठीक क्या जोड़ा, हटाया या बदला गया, और परिणाम को यूनिफ़ाइड पैच के रूप में कॉपी करें।

टेक्स्ट तुलना उपकरण क्या करता है


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

इसकी ज़रूरत कब पड़ती है


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

परिणाम कैसे पढ़ें


चिह्नअर्थ
यह पंक्ति दोनों टेक्स्ट में एक जैसी है और केवल संदर्भ के लिए दिखाई गई है।
-यह पंक्ति केवल मूल टेक्स्ट में है।
+यह पंक्ति केवल बदले हुए टेक्स्ट में है।
@@बदलावों का एक खंड शुरू करता है और बताता है कि वह हर टेक्स्ट में किन पंक्तियों को समेटता है।

ये यूनिफ़ाइड फ़ॉर्मैट के चिह्न हैं — वही जो diff -u, git और patch इस्तेमाल करते हैं। यह पृष्ठ जो पैच बनाता है उसे फ़ाइल में सहेजकर उन्हीं उपकरणों से लागू किया जा सकता है।

इसका उपयोग कैसे करें


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

  1. पहले बक्से में मूल संस्करण और दूसरे में बदला हुआ संस्करण चिपकाएँ।
  2. तय करें कि अक्षर का आकार और रिक्त स्थान अनदेखा करना है या नहीं — तब उपयोगी जब दोनों फ़ाइलें अलग-अलग संपादकों में लिखी गई हों।
  3. चिह्नित पंक्तियाँ पढ़ें, या बदलाव कहीं और लागू करने के लिए यूनिफ़ाइड पैच कॉपी करें।

अक्सर पूछे जाने वाले प्रश्न


क्या मेरा टेक्स्ट किसी सर्वर पर भेजा जाता है?
नहीं। तुलना पूरी तरह आपके ब्राउज़र में, JavaScript में होती है। यह पृष्ठ कुछ भी नहीं भेजता और कुछ भी नहीं रखता।

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

क्या मैं टेक्स्ट चिपकाने के बजाय फ़ाइलों की तुलना कर सकता हूँ?
फ़ाइल किसी भी संपादक में खोलें, सब चुनें और यहाँ चिपका दें। यह पृष्ठ टेक्स्ट की तुलना करता है, इसलिए जो कुछ भी टेक्स्ट के रूप में पढ़ा जा सकता है उसकी तुलना हो सकती है: कोड, CSV, लॉग, JSON, सामान्य गद्य।

क्या Windows और Unix की पंक्ति-समाप्ति समस्या बनती है?
नहीं। CRLF और LF दोनों को एक ही विराम माना जाता है, इसलिए Windows पर सहेजी गई फ़ाइल ऐसी नहीं दिखती मानो हर पंक्ति बदल गई हो।

पैच किस काम आता है?
यह वही यूनिफ़ाइड फ़ॉर्मैट है जो diff -u बनाता है और git तथा patch पढ़ते हैं। इसे फ़ाइल में सहेजें और आप ठीक यही बदलाव मूल की किसी दूसरी प्रति पर लागू कर सकते हैं, या किसी टिकट से जोड़ सकते हैं ताकि कोई और देख सके कि आपने क्या बदला।

Wikipedia — diff
Wikipedia — Unified format
Wikipedia — Longest common subsequence
Wikipedia — Patch (computing)
Wikipedia — File comparison