डुप्लिकेट लाइन हटाने वाला टूल: टेक्स्ट को साफ़ करें और डुप्लिकेट लाइनें हटाएँ
अपने टेक्स्ट से डुप्लिकेट लाइनों को तुरंत हटाएँ और साथ ही ओरिजिनल फ़ॉर्मैटिंग को भी बनाए रखें। चाहे आप डेटा सेट साफ़ कर रहे हों, फ़ालतू कोड लाइनें हटा रहे हों या लिस्ट व्यवस्थित कर रहे हों, हमारा टूल समझदारी से डुप्लिकेट एंट्रीज़ की पहचान करके उन्हें हटा देता है और आपको यह तय करने का कंट्रोल देता है कि कौन सी एंट्रीज़ रखनी हैं।
डुप्लिकेट लाइनों को तुरंत हटाता है — यह हर लाइन को स्कैन करता है और हर यूनिक लाइन की सिर्फ़ पहली बार आने वाली लाइन को रखता है, बाद में आने वाली रिपीट लाइनों को हटा देता है और साथ ही पहली बार आने वाली लाइनों का ओरिजिनल क्रम बनाए रखता है।
डिफ़ॉल्ट रूप से केस-सेंसिटिव मैचिंग होती है — 'Apple' और 'apple' को अलग-अलग लाइन माना जाता है, इसलिए जब तक आप पहले केस को नॉर्मलाइज़ नहीं करते, तब तक अलग-अलग केस वाले डेटा को अपने-आप मर्ज नहीं किया जाता है।
यह यूनिक लाइन्स के क्रम को ठीक वैसा ही बनाए रखता है जैसा वे ओरिजिनल इनपुट में थीं — आउटपुट को सॉर्ट नहीं किया जाता, बल्कि डुप्लिकेट लाइन्स को वहीं हटा दिया जाता है।
यह बिना किसी लाइन लिमिट के कितना भी ज़्यादा टेक्स्ट संभाल सकता है — 100,000-रो (row) वाला डेटा पेस्ट करें और एक ही बार में डुप्लिकेट हटा दिए जाएँगे।
यह Unix और Windows दोनों तरह के लाइन एंडिंग्स को प्रोसेस करता है, और अलग-अलग लाइन एंडिंग फ़ॉर्मैट्स के कारण कोई गड़बड़ी (artifacts) पैदा नहीं होने देता।
मुफ़्त, बिना किसी अकाउंट या कैरेक्टर लिमिट के।
कैसे इस्तेमाल करें
डुप्लिकेट के साथ अपना टेक्स्ट पेस्ट करें
साफ़ किया गया नतीजा तुरंत देखें
खास लाइनें कॉपी या डाउनलोड करें
डेटा क्लीनिंग
- ईमेल लिस्ट
- यूज़र डेटाबेस
- संपर्क जानकारी
- लॉग फ़ाइलें
कोड प्रबंधन
- इंपोर्ट स्टेटमेंट
- निर्भरताएँ
- कॉन्फ़िगरेशन फ़ाइलें
- लाइब्रेरी संदर्भ
कंटेंट का संगठन
- टैग सूचियाँ
- मुख्य शब्द
- संदर्भ
- URL
| मूल पाठ | परिणाम |
|---|---|
apple banana apple cherry | apple banana cherry |
Line 1 Line 2 Line 1 Line 3 | Line 1 Line 2 Line 3 |
Hello HELLO hello Hi | Hello HELLO hello Hi |
tag1 tag1 tag2 tag2 | tag1 tag2 |
डेवलपमेंट टूल्स
- कोड एडिटर
- IDEs
- टेक्स्ट एडिटर
- बिल्ड स्क्रिप्ट्स
डेटा टूल्स
- स्प्रेडशीट
- डेटाबेस
- CSV फ़ाइलें
- लॉग प्रोसेसर
जब आप समय के साथ कई स्रोतों से इकट्ठा की गई ईमेल लिस्ट, URL लिस्ट या कीवर्ड लिस्ट को साफ़ कर रहे हों, तो पूरी कंबाइंड लिस्ट को यहाँ पेस्ट करें और एक ही बार में डुप्लिकेट हटा दें — इसके बाद जो आउटपुट मिलेगा, उसे इस्तेमाल करने के लिए हर एंट्री को मैन्युअल रूप से देखने की ज़रूरत नहीं होगी।
ऐसे डेटाबेस में डेटा इम्पोर्ट करने से पहले, जिसमें किसी कॉलम पर 'यूनिक कंस्ट्रेंट' (unique constraints) लागू होते हैं, इम्पोर्ट फ़ाइल से डुप्लिकेट डेटा हटाने से इम्पोर्ट प्रोसेस के बीच में फेल होने से पहले ही टकराव (conflicts) का पता चल जाता है। यह तरीका, आंशिक इम्पोर्ट के बाद हर एक कंस्ट्रेंट उल्लंघन की त्रुटियों (constraint violation errors) का पता लगाने की तुलना में कहीं ज़्यादा तेज़ है।
कई डॉक्यूमेंट या टूल से इकट्ठा की गई टैग लिस्ट और कीवर्ड सेट के लिए, डुप्लीकेशन हटाने की प्रक्रिया (deduplication) उस फालतू दोहराव को खत्म करती है जो कई सोर्स से एक ही टैग जोड़ने पर जमा हो जाता है; इससे आपको एक साफ और सही लिस्ट मिलती है।
जब आप एक जैसी लाइनों (rows) वाली कई CSV फ़ाइलों को मिलाते हैं — जैसे कि महीने के डेटा को एक सालाना डेटासेट में मिलाना — तो सभी फ़ाइलों की सभी लाइनों को पेस्ट करें, डुप्लिकेट हटाएँ और ज़रूरत पड़ने पर उन्हें फिर से सॉर्ट करें। इस तरह बने डेटासेट में हर लाइन सिर्फ़ एक बार होगी।
अगर आपको केस-इनसेंसिटिव डुप्लीकेट हटाने की ज़रूरत है (यानी 'Hello' और 'hello' को एक जैसा मानना), तो पहले लोअरकेस टूल का इस्तेमाल करके सभी लाइनों को लोअरकेस में बदलें, डुप्लीकेट हटाएँ, और फिर अपनी पसंद के वर्शन के हिसाब से कैपिटलाइज़ेशन वापस सेट करें।
डुप्लिकेट हटाने से पहले हमेशा ओरिजिनल कॉपी संभालकर रखें — कभी-कभी डुप्लिकेट जान-बूझकर रखे जाते हैं (जैसे, लॉग में बार-बार आने वाली एंट्रीज़ जो अलग-अलग घटनाओं को दिखाती हैं) और बिना जांचे-परखे उन्हें हटाने से काम का डेटा बिना पता चले ही खो सकता है।
अगर आपके डेटा में स्पेसिंग एक जैसी नहीं है, तो डुप्लिकेट हटाने से पहले हर लाइन के शुरू और आखिर में मौजूद एक्स्ट्रा स्पेस (whitespace) को हटा दें — क्योंकि केस-सेंसिटिव और व्हाइटस्पेस-अवेयर तुलना में 'apple ' (आखिर में स्पेस के साथ) और 'apple' (बिना स्पेस के) को अलग-अलग लाइन माना जाएगा।
डेटाबेस से डुप्लिकेट डेटा हटाने (deduplication) के लिए, इस टूल के बजाय डेटाबेस लेयर पर SELECT DISTINCT या GROUP BY का इस्तेमाल करना बेहतर है — क्योंकि डेटाबेस क्वेरी ज़्यादा भरोसेमंद होती है, NULL वैल्यूज़ को सही ढंग से हैंडल करती है, और इसके लिए पूरे डेटासेट को पहले एक्सपोर्ट करने की ज़रूरत नहीं पड़ती।
जब बाद की प्रोसेसिंग के लिए डी-डुप्लिकेटेड आउटपुट में लाइनों का क्रम मायने रखता है, तो यह पक्का कर लें कि आपके इस्तेमाल के मामले (use case) के लिए पहली एंट्री (आखिरी के बजाय) को रखना ही सही तरीका है — क्योंकि कुछ डी-डुप्लिकेशन स्थितियों में सबसे नई एंट्री को रखना ज़रूरी होता है।
अगर आपके डेटा में बिल्कुल एक जैसे डुप्लिकेट के बजाय 'नियर-डुप्लिकेट' (ऐसी लाइनें जिनमें सिर्फ़ पंक्चुएशन, स्पेसिंग या छोटी-मोटी टाइपिंग की गलतियों का फ़र्क हो) हैं, तो यह टूल उन्हें नहीं पकड़ पाएगा — यह सिर्फ़ एकदम एक जैसी स्ट्रिंग को ही मैच करता है। नियर-डुप्लिकेट का पता लगाने के लिए 'फ़ज़ी मैचिंग' टूल की ज़रूरत होती है।
अक्सर पूछे जाने वाले सवाल
हमारे टूल्स और सेवाओं के बारे में आम सवालों के जवाब पाएँ।
डुप्लिकेट लाइनें हटाएँ को समझना
कई स्रोतों से टेक्स्ट इकट्ठा करने वाले किसी भी वर्कफ़्लो में, डुप्लिकेट लाइन हटाना डेटा साफ़ करने के सबसे आम कामों में से एक है। लिस्ट में डुप्लिकेट तब जमा हो जाते हैं जब कई लोग अलग-अलग एंट्री जोड़ते हैं, जब डेटा को कई बार एक्सपोर्ट करके मिलाया जाता है, जब एक ही कंटेंट अलग-अलग चैनलों से सबमिट किया जाता है, या जब कोई प्रोसेस पहले से मौजूद एंट्री को चेक किए बिना ही चल रहे लॉग में नई एंट्री जोड़ती है। इसका नतीजा एक ऐसा डेटासेट होता है जिसमें एक ही स्ट्रिंग कई बार दिखाई देती है, जिससे गिनती बढ़ जाती है, इंपोर्ट में डबल-प्रोसेसिंग होती है, और ऐसे किसी भी एनालिसिस में गलत नतीजे मिलते हैं जो यह मानकर चलता है कि हर रो (row) यूनिक है।
प्रोफ़ेशनल तौर पर इसका सबसे ज़्यादा इस्तेमाल लिस्ट को एक साथ जोड़ने (consolidate करने) के लिए किया जाता है। कई लीड कैप्चर फ़ॉर्म, इवेंट रजिस्ट्रेशन और मैन्युअल रूप से जोड़ी गई जानकारी से महीनों या सालों में बनी ईमेल मार्केटिंग लिस्ट में अक्सर डुप्लिकेट एंट्रीज़ होती हैं। एक ही व्यक्ति, जिसने अलग-अलग फ़ॉर्म के ज़रिए तीन बार सब्सक्राइब किया है, लिस्ट में तीन बार दिखाई देता है। ईमेल प्लेटफ़ॉर्म या CRM में इंपोर्ट करने से पहले, पूरी कंबाइंड लिस्ट को यहाँ पेस्ट करें और डुप्लिकेट एंट्रीज़ को हटा दें — इससे एक ऐसी लिस्ट तैयार होगी जिसमें हर ईमेल एड्रेस सिर्फ़ एक बार होगा। इससे एक ही ईमेल बार-बार भेजे जाने, सब्सक्राइबर की संख्या गलत तरीके से बढ़ने और रिसीवर को बार-बार एक ही ईमेल मिलने जैसी समस्याओं से बचा जा सकता है।
डेवलपर्स के लिए, इसका सबसे आम इस्तेमाल डेटाबेस में डेटा इम्पोर्ट करने से पहले डुप्लिकेट डेटा को हटाना है। जब इम्पोर्ट फ़ाइल में ऐसी रो (rows) होती हैं जो किसी कॉलम पर 'UNIQUE' कंस्ट्रेंट का उल्लंघन करती हैं, तो CSV इम्पोर्ट, JSON ऐरे लोड और बल्क INSERT ऑपरेशन अक्सर फेल हो जाते हैं या उनमें इंटीग्रिटी एरर आ जाते हैं। इम्पोर्ट शुरू करने से पहले फ़ाइल से डुप्लिकेट डेटा हटाने से ये उल्लंघन होने से पहले ही खत्म हो जाते हैं; यह तरीका बड़े डेटासेट पर इम्पोर्ट के बीच में कंस्ट्रेंट एरर का पता लगाने और उन्हें ठीक करने की तुलना में तेज़ है। यह टूल खास तौर पर एक बार होने वाले डेटा माइग्रेशन के लिए उपयोगी है, जहाँ डुप्लिकेशन हटाने वाली SQL स्क्रिप्ट लिखने में, मैन्युअल रूप से पेस्ट और क्लीन करने के तरीके की तुलना में ज़्यादा समय लगेगा।
लॉग एनालिसिस में बार-बार आने वाले एरर मैसेज से होने वाले शोर (noise) को कम करने के लिए 'डीडुप्लिकेशन' का इस्तेमाल किया जाता है। जब बहुत ज़्यादा एरर आ रहे हों, तो एप्लीकेशन लॉग में अक्सर हज़ारों एक जैसे एरर लाइनें होती हैं — यानी बार-बार वही एक्सेप्शन (exception) आता है। लॉग को डीडुप्लिकेट करने पर आपको बिना दोहराव की गिनती के, अलग-अलग तरह के एरर का सेट मिलता है। यह तब काम आता है जब आपको अलग-अलग तरह की खराबी (failure modes) की लिस्ट बनानी हो, न कि यह समझना हो कि वे कितनी बार आ रही हैं। अगर आपको यह गिनना है कि वे कितनी बार आ रहे हैं, तो ओरिजिनल लॉग रखें; और अगर अलग-अलग तरह के एरर जानने हैं, तो डीडुप्लिकेट करें।
डेटा ऑपरेशन्स और ETL (एक्सट्रैक्ट, ट्रांसफॉर्म, लोड) पाइपलाइन्स में, डुप्लीकेट डेटा हटाने (डिडुप्लीकेशन) का काम आम तौर पर पाइपलाइन लेयर पर dbt, Apache Spark, या डेटाबेस स्टोर्ड प्रोसीजर्स जैसे टूल्स से किया जाता है। यह ब्राउज़र-आधारित टूल पाइपलाइन के बाहर कभी-कभार (ad-hoc) डिडुप्लीकेशन के लिए सही विकल्प है — जैसे कि एक बार की सफाई (one-off cleanup), मैन्युअल रिव्यू के लिए फ़ाइलें तैयार करना, या ऐसे मामलों में कंटेंट से डुप्लीकेट हटाना जहाँ कोई इंजीनियरिंग इंफ्रास्ट्रक्चर मौजूद नहीं है। यह पाइपलाइन-लेवल डिडुप्लीकेशन का विकल्प नहीं है, जहाँ लीनेज ट्रैकिंग, कॉलम-लेवल मैचिंग और ऑडिट लॉगिंग जैसी चीज़ें ज़रूरी होती हैं।