visual-studio-code - code - visual studio 2010



Visual Studio Code में डुप्लिकेट लाइनों को कैसे हटाएं? (4)

कहो कि आपके पास निम्नलिखित पाठ है:

abc
123
abc
456
789
abc
abc

मैं सभी "एबीसी" लाइनों को हटाना चाहता हूं और बस एक रखना चाहता हूं। मैं छँटाई नहीं करता। परिणाम इस तरह होना चाहिए:

abc
123
456
789

https://src-bin.com


Answer #1

यदि लाइनों का क्रम महत्वपूर्ण नहीं है

लाइनों को वर्णानुक्रम में क्रमबद्ध करें, यदि वे पहले से ही नहीं हैं, और इन चरणों को पूरा करें:
(इस संबंधित प्रश्न पर आधारित: मैं नियमित एक्सप्रेशन का उपयोग करके फ़ाइल से डुप्लिकेट लाइनें कैसे ढूँढूं और हटा सकता हूं? )

  1. नियंत्रण + एफ

  2. "बदलें मोड" टॉगल करें

  3. "रेगुलर एक्सप्रेशन का उपयोग करें" टॉगल करें (आइकन के साथ आइकन .* )

  4. खोज फ़ील्ड में, ^(.*)(\n\1)+$ लिखें

  5. " बदलें " फ़ील्ड में, $1 टाइप करें

  6. क्लिक करें ("सबको बदली करें")।

यदि लाइनों का क्रम महत्वपूर्ण है तो आप सॉर्ट नहीं कर सकते

इस स्थिति में, या तो वीएस कोड के बाहर एक समाधान का सहारा लें ( here देखें), या - यदि आपका दस्तावेज़ बहुत बड़ा नहीं है और आप रिप्लेसमेंट ऑल बटन को स्पैम करने का बुरा नहीं मानते हैं - पिछले चरणों का पालन करें, लेकिन चरण 4 और 5 में। इन्हें दर्ज करें:
( सॉर्टिंग के बिना विशिष्ट डुप्लिकेट लाइनें निकालें पर आधारित)

सावधानी: बहुत सी लाइनों (1000+) वाली फाइलों के लिए ब्लॉक; दुर्घटना के कारण वीएस कोड हो सकता है; कुछ मामलों में रिक्त लाइनें पेश कर सकते हैं।

  • खोज : ((^[^\S$]*?(?=\S)(?:.*)+$)[\S\s]*?)^\2$(?:\n)?

  • के साथ बदलें : $1

और फिर "सभी को बदलें" बटन पर क्लिक करें क्योंकि कई बार डुप्लिकेट घटनाएं होती हैं

जब आप बटन पर क्लिक करते हैं तो लाइन की गिनती कम हो जाती है यह आपको पता चल जाएगा। उस पर नज़र रखने के लिए दस्तावेज़ की अंतिम पंक्ति पर नेविगेट करें।


Answer #2

@ Marc.2377 के उत्तर में जोड़ने के लिए।

यदि आदेश महत्वपूर्ण है और आप इस बात की परवाह नहीं करते हैं कि आप केवल डुप्लिकेट लाइनों में से अंतिम को रखते हैं, तो बस regexp खोजें

^(.*\n)(?=(?:.*\n)*?\1)

और कुछ भी नहीं के साथ बदलें।

यह एक लाइन लेगा और कुछ और (शायद 0) लाइनों को आगे बढ़ाने की कोशिश करेगा, इसके बाद ली जाने वाली सटीक लाइन। यह ली गई लाइन को हटा देगा।

यह सिर्फ एक-शॉट रेगेक्स है। प्रतिस्थापित बटन को स्पैम करने की आवश्यकता नहीं है।


Answer #3

बस एक ही मुद्दा था और VSCode पैकेज "क्रमबद्ध करें" मिला, विवरण के लिए VSCode बाज़ार स्थान देखें (उदाहरण https://marketplace.visualstudio.com/items?itemName=Tyriar.sort-lines )।

इस पैकेज में "सॉर्टिंग लाइन्स (अद्वितीय)" का विकल्प है, जो मेरे लिए था। लाइनों की शुरुआत / अंत में किसी भी सफेद रिक्त स्थान का ध्यान रखें, वे प्रभावित करते हैं कि क्या लाइनें अद्वितीय मानी जाती हैं या नहीं।


Answer #4

यहां एक बहुत ही रोचक विस्तार है: Transformer

विशेषताएं:

  • अनोखी लाइनें
  • नए दस्तावेज़ के रूप में अनूठी लाइनें
  • फ़िल्टर लाइनें
  • नए दस्तावेज़ के रूप में फ़िल्टर लाइनें
  • लाइनों को क्रमबद्ध करें
  • लंबाई के अनुसार क्रमबद्ध करें
  • कर्सर को संरेखित करें
  • CSV को संरेखित करें
  • कॉम्पैक्ट CSV
  • नए दस्तावेज़ को कॉपी करें
  • लाइन्स चुनें
  • JSON के रूप में लाइन्स
  • ट्रिम लाइनों
  • नए दस्तावेज़ के रूप में डुप्लिकेट लाइनें गिनें
  • मैक्रो

डुप्लिकेट लाइनों को हटाने के लिए:

  • दस्तावेज़ से डुप्लिकेट लाइनें निकालता है

  • चयन नहीं होने पर चयन या वर्तमान ब्लॉक पर संचालित होता है

मैंने इसके साथ "यूनिक लाइन्स" कमांड के अलावा बहुत कुछ नहीं खेला है, लेकिन यह काफी अच्छी तरह से किया जाता है (मैक्रो मेनू का प्रयास करना सहित)।






visual-studio-code