विम में पंक्तियों को क्रमबद्ध करने के लिए मार्गदर्शिका

Vima Mem Panktiyom Ko Kramabad Dha Karane Ke Li E Margadarsika



विम में लाइनों को सॉर्ट करने के लिए, आप बिल्ट-इन का उपयोग कर सकते हैं क्रम से लगाना कमांड जो एक परिभाषित सीमा के अनुसार लाइनों को क्रमबद्ध करता है। आमतौर पर, यदि कोई सीमा नहीं दी गई है तो दस्तावेज़ की सभी पंक्तियाँ क्रमबद्ध हो जाती हैं।

उदाहरण के लिए, यदि आप संपूर्ण दस्तावेज़ को क्रमबद्ध करना चाहते हैं, तो इसका उपयोग करें :क्रम से लगाना सामान्य मोड में कमांड। दूसरी ओर, यदि आप केवल विशिष्ट पंक्तियों को क्रमबद्ध करना चाहते हैं, तो इसका उपयोग करें :x,y प्रकार आदेश, कहाँ एक्स और और पंक्ति संख्या से सीमा को परिभाषित करें एक्स को और .







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



टिप्पणी: इस गाइड में उल्लिखित निर्देश और आदेश लिनक्स (उबंटू 22.04) पर निष्पादित किए जाते हैं। विम एक क्रॉस-प्लेटफ़ॉर्म टेक्स्ट एडिटर है, और ये कमांड macOS और Windows पर भी बिना किसी त्रुटि के काम करेंगे।



सभी पंक्तियों को क्रमबद्ध करें





किसी दस्तावेज़ में सभी पंक्तियों को क्रमबद्ध करने के लिए, निष्पादित करें क्रम से लगाना सामान्य मोड में कमांड।

:क्रम से लगाना



डिफ़ॉल्ट रूप से, क्रम से लगाना कमांड लेक्सिकोग्राफ़िक क्रम में पंक्तियों को क्रमबद्ध करेगा।

ध्यान दें कि यदि आपकी फ़ाइल में खाली पंक्तियाँ हैं, तो सॉर्ट कमांड खाली पंक्तियों को शीर्ष वास्तविक टेक्स्ट सॉर्ट पर रखेगा।

चयनित पंक्तियों को क्रमबद्ध करें

चयनित पंक्तियों को क्रमबद्ध करने के लिए, सबसे पहले, हमें उन्हें चयन मोड में चुनना होगा। और चयन मोड को सक्षम करने के लिए दबाएँ में , और का उपयोग करके पंक्तियों का चयन करें एच , जे , क, और एल चाबियाँ या दिशात्मक बटन.

विम में एक लाइन-विशिष्ट चयन मोड भी है जिसे कहा जाता है दृश्य रेखा तरीका। प्रेस वी (शिफ्ट+वी) को सक्षम करने के लिए दृश्य रेखा लाइनों का चयन करने के लिए मोड.

पंक्तियों का चयन करने के बाद, आप देखेंगे ' <, ' > कमांड लाइन में, जो चयन सीमा का प्रतिनिधित्व करता है। ' < दृश्य चयन की पहली पंक्ति का संकेत दिया, जबकि ' > अंतिम को इंगित करता है.

अब, बस टाइप करें क्रम से लगाना कमांड, और चयनित लाइनों पर सॉर्ट लागू करने के लिए रिटर्न कुंजी दबाएं जैसा कि निम्नलिखित GIF में दिखाया गया है।

श्रेणीबद्ध रेखाओं को क्रमबद्ध करें

लाइन रेंज से पहले पारित किया जा सकता है क्रम से लगाना पंक्तियों को क्रमबद्ध करने का आदेश। :नंबर सेट करें कमांड का उपयोग विम में लाइन नंबर को सक्रिय करने के लिए किया जा सकता है, जिससे लाइन नंबर की पहचान करना आसान हो जाता है।

उदाहरण के लिए, पंक्ति संख्या 1 से पंक्ति संख्या 4 तक पंक्तियों को क्रमबद्ध करने के लिए, का उपयोग करें :1,4 प्रकार आज्ञा।

: 1 , 4 क्रम से लगाना

जैसा कि उपरोक्त आउटपुट में देखा जा सकता है कि केवल निर्दिष्ट पंक्तियाँ ही क्रमबद्ध हैं।

उल्टे क्रम में क्रमबद्ध करें

जैसा कि पहले उल्लेख किया गया है, का डिफ़ॉल्ट व्यवहार क्रम से लगाना आदेश का उद्देश्य पंक्तियों को शब्दकोषीय क्रम में क्रमबद्ध करना है। पंक्तियों को गैर-शाब्दिक तरीके से क्रमबद्ध करने के लिए, विस्मयादिबोधक चिह्न जोड़ें ( ! ) के बाद क्रम से लगाना आज्ञा।

:क्रम से लगाना !

स्थान के अनुसार क्रमबद्ध करें

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

वर्तमान कॉलेशन स्थान की जांच करने के लिए, का उपयोग करें :भाषा आज्ञा।

:भाषा

वर्तमान स्थान के अनुसार क्रमबद्ध करने के लिए उपयोग करें:

: भाग्य एल

टिप्पणी: यह विकल्प macOS पर आधारित सिस्टम पर ठीक से काम नहीं कर सकता है।

संख्या के अनुसार क्रमबद्ध करें

किसी पंक्ति में प्रथम दशमलव संख्या के आधार पर पंक्तियों को क्रमबद्ध करने के लिए, इसका उपयोग करें एन के साथ झंडा क्रम से लगाना आज्ञा। सॉर्टिंग डिफ़ॉल्ट रूप से आरोही क्रम में आगे बढ़ेगी।

:क्रमबद्ध एन

अवरोही क्रम में क्रमबद्ध करने के लिए, का उपयोग करें ! आदेश के बाद प्रतीक.

:क्रम से लगाना ! एन

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

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

संख्यात्मक छँटाई के लिए कुछ अन्य विकल्प निम्नलिखित तालिका में उल्लिखित हैं।

एफ फ़्लोट संख्या छँटाई
बी बाइनरी नंबर छँटाई
हे अष्टाधारी संख्या छँटाई
एच हेक्साडेसिमल संख्या छँटाई

मार्क्स के अनुसार क्रमबद्ध करें

विम में, सैकड़ों लाइनों वाली फ़ाइल के आसान नेविगेशन के लिए फ़ाइल में विशिष्ट स्थिति निर्धारित करने के लिए चिह्नों का उपयोग किया जाता है। चिन्हों का उपयोग सॉर्ट ऑपरेशन करने के लिए किया जा सकता है क्रम से लगाना आज्ञा।

मान लीजिए आपने दो अंक निर्धारित किए हैं और बी .

तो, निशान से सभी पंक्तियों को क्रमबद्ध करने के लिए चिह्नित करना बी , निम्न आदेश का उपयोग करें।

: 'ए,' बी क्रम से लगाना

एकल उद्धरण ( ' ) का उपयोग चिन्हों तक पहुँचने के लिए किया जाता है।

रेगुलर एक्सप्रेशन के अनुसार क्रमबद्ध करें (RegEx)

रेगुलर एक्सप्रेशन (RegEx) एक पैटर्न को परिभाषित करके लाइनों को क्रमबद्ध करने के सामान्य तरीकों में से एक है क्रम से लगाना आज्ञा।

उदाहरण के लिए, किसी कॉलम के संबंध में पंक्तियों को क्रमबद्ध करने के लिए जिसमें अक्षर और अंक हैं, का उपयोग करें /[a-z]*[0-9]+/ के साथ पैटर्न क्रम से लगाना आज्ञा। आर के बाद झंडा क्रम से लगाना कमांड का उपयोग कमांड को उल्लिखित पैटर्न के आधार पर सॉर्ट करने का निर्देश देने के लिए किया जाता है।

:सॉर्ट आर / [ a-z ] * [ 0 - 9 ] + /

जैसा कि आप उपरोक्त छवि में देख सकते हैं, अंतिम कॉलम वर्णानुक्रम में क्रमबद्ध है। कॉलम को संख्यात्मक रूप से क्रमबद्ध करने के लिए, बस डालें एन झंडा।

टिप्पणी: मैंने पंक्ति 2,5 से सीमा को परिभाषित करके पहली पंक्तियों को छोड़ दिया।

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

डुप्लिकेट पंक्तियाँ हटाएँ

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

:विविधता यू

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

कॉलम के आधार पर पंक्तियों को क्रमबद्ध करें

कॉलम के आधार पर विम में पंक्तियों को क्रमबद्ध करने की दो विधियाँ हैं। पहली विधि बाहरी लिनक्स सॉर्ट कमांड का उपयोग करती है, जबकि दूसरी अंतर्निहित सॉर्ट कमांड का उपयोग करती है।

डिफ़ॉल्ट सॉर्ट कमांड की तुलना में बाहरी कमांड को लागू करना आसान है। ध्यान दें कि बाहरी कमांड विम के डिफ़ॉल्ट कमांड नहीं हैं। इसका मतलब है कोई भी कमांड जो ऑपरेटिंग सिस्टम द्वारा समर्थित है।

आइए समझें कि यह विम में कैसे काम करता है।

विम में किसी बाहरी कमांड का उपयोग करने के लिए, ! उस कमांड से पहले सिंबल का प्रयोग किया जाता है। मान लें कि हमारे पास अल्पविराम से अलग की गई फ़ाइल (सीएसवी) है और हम तीसरे कॉलम के संबंध में फ़ाइल को क्रमबद्ध करना चाहते हैं। आदेश होगा

: %! क्रम से लगाना -टी ',' -k3

% संपूर्ण बफ़र को चयन के रूप में इंगित करता है। -टी ध्वज का उपयोग फ़ील्ड विभाजक को परिभाषित करने के लिए किया जाता है, जो अल्पविराम, कोलन या यहां तक ​​कि स्थान भी हो सकता है। -क ध्वज वह कुंजी है जो पंक्ति में स्थिति को इंगित करती है, और k2 मतलब निर्दिष्ट सीमांकक के बाद दूसरा फ़ील्ड।

उदाहरण में, मैंने इसके स्थान पर रेंज का उल्लेख किया है % पहली पंक्ति को छोड़ने के लिए.

: 2 , 5 ! क्रम से लगाना -टी ',' -k3

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

दूसरी ओर, विम के बिल्ट-इन का उपयोग करने के लिए क्रम से लगाना कमांड, सॉर्ट कमांड के साथ एक नियमित अभिव्यक्ति पैटर्न नियोजित किया जाएगा।

:क्रम से लगाना / \v^ ( . { - } , ) { 2 } /

उपरोक्त आदेश में:

  • \में ऊर्ध्वाधर टैब का प्रतिनिधित्व करता है
  • ^ पंक्ति की शुरुआत को इंगित करता है
  • (.{-},) एक समूह है जिसमें होगा .{-} का एक गैर-लालची संस्करण है .* और , पृथक्करण क्षेत्र है
  • {2} छोड़े जाने वाले पहले 2 कॉलम का प्रतिनिधित्व कर रहा है

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

के बीच बुनियादी अंतर .* और .{-} है कि .{-} जबकि, सबसे छोटे मैच प्रथम एल्गोरिदम को संसाधित करेगा .* जितना संभव हो उतना मेल खाएगा. उदाहरण के लिए, एक स्ट्रिंग में wxyz x.*y जबकि पूरी स्ट्रिंग से मेल खाएगा x.{-}y केवल xy से मेल खाएगा.

सॉर्ट लाइन्स केस असंवेदनशील

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

जैसा कि आप निम्नलिखित छवि में देख सकते हैं, दोनों के साथ अवर्गीकृत और क्रमबद्ध पंक्तियाँ :क्रम से लगाना और :क्रमबद्ध करें I आदेश.

निष्कर्ष

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

विम में सॉर्टिंग के बारे में अधिक जानने के लिए, इसे चलाएँ : सहायता क्रमबद्ध करें आज्ञा।