लिनक्स में टेक्स्ट फाइलों को सॉर्ट कमांड का उपयोग करके कैसे सॉर्ट करें

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

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

सॉर्ट कमांड क्या है?

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

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

लिनक्स में सॉर्ट का उपयोग कैसे करें

हालाँकि सॉर्ट में कई विधियाँ और फ़्लैग होते हैं जिनका आप उपयोग कर सकते हैं, फिर भी इसे सीखना आसान है।

मूल सिंटैक्स

सॉर्ट का उपयोग करने का मूल सिंटैक्स है:

 sort filename

…जहाँ फ़ाइल नाम टेक्स्ट फ़ाइल का निरपेक्ष या सापेक्ष पथ है जिसे आप सॉर्ट करना चाहते हैं।

डिफ़ॉल्ट रूप से, सॉर्ट सामग्री को निम्न मानदंडों के अनुसार व्यवस्थित करेगा:

  1. अंकीय वर्णों से शुरू होने वाली रेखाओं की सर्वोच्च प्राथमिकता होती है।
  2. संख्याओं से शुरू होने वाली पंक्तियों को छाँटने के बाद, कमांड वर्णानुक्रम में पंक्तियों को क्रमबद्ध करेगा।
  3. लोअरकेस वर्णों से शुरू होने वाली रेखाएं अपरकेस में समान वर्ण से शुरू होने वाली रेखाओं से पहले होती हैं।

निम्नलिखित जानकारी वाली textfile.txt नामक टेक्स्ट फ़ाइल पर विचार करें:

डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग करके फ़ाइल को सॉर्ट करने के लिए:

 sort textfile.txt

आउटपुट:

एक नई आउटपुट फ़ाइल बनाएँ

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

 sort -o sortedfile filename

…जहाँ सॉर्ट की गई फ़ाइल आउटपुट फ़ाइल का नाम है और फ़ाइल नाम मूल फ़ाइल है जिसे सॉर्ट करने की आवश्यकता है।

Textfile.txt को सॉर्ट करने और सामग्री के लिए एक नई आउटपुट फ़ाइल बनाने के लिए:

 sort -o sorted.txt textfile.txt

आउटपुट:

एकाधिक फ़ाइलें क्रमबद्ध करें

एक से अधिक फ़ाइल को एक साथ सॉर्ट करने के लिए, बस स्पेस कैरेक्टर से अलग किए गए फ़ाइल नाम पास करें।

 sort textfile.txt textfile2.txt

आउटपुट:

ध्यान दें कि सॉर्ट फाइलों के आउटपुट को मर्ज कर देगा और उन्हें टर्मिनल में एक साथ प्रदर्शित करेगा।

एक फ़ाइल को रिवर्स सॉर्ट करें

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

 sort -r textfile.txt

आउटपुट:

फ़ाइल को संख्यात्मक रूप से क्रमबद्ध करें

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

 sort -n numbers.txt

आउटपुट:

यदि आप अवरोही क्रम में क्रमबद्ध करना चाहते हैं, तो -r विकल्प का उपयोग करके व्यवस्था को -n ध्वज के साथ कमांड में उलट दें।

 sort -rn numbers.txt

आउटपुट:

छँटाई करते समय चरित्र मामले पर ध्यान न दें

डिफ़ॉल्ट रूप से, सॉर्ट सामग्री के वर्ण मामले को ध्यान में रखता है। लोअरकेस वर्णों से शुरू होने वाली रेखाएं उसी वर्ण के अपरकेस संस्करण से शुरू होने वाली रेखाओं से पहले होती हैं। उदाहरण के लिए, "वह एक लड़का है" "वह एक लड़का है" से पहले होगा।

यदि आप वर्ण मामले को अनदेखा करना चाहते हैं, तो -f या –ignore-case ध्वज को निम्नानुसार निर्दिष्ट करें:

 sort -f textfile.txt
sort --ignore-case textfile.txt

आउटपुट:

महीने के आधार पर एक फाइल को सॉर्ट करें

-M ध्वज का उपयोग करके, आप महीने के नामों के आधार पर फ़ाइल की सामग्री के क्रम को संशोधित कर सकते हैं।

 sort -M textfile2.txt

आउटपुट:

प्रमुख रिक्त स्थान पर ध्यान न दें

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

 sort -b fileblanks.txt

आउटपुट:

एक कॉलम के अनुसार एक फाइल को सॉर्ट करें

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

विभिन्न स्तंभों वाली फ़ाइल जानकारी वाली टेक्स्ट फ़ाइल पर विचार करें। आठवें कॉलम के अनुसार output.txt नाम की फाइल को सॉर्ट करने के लिए:

 sort -k8 -rn output.txt

आउटपुट:

अन्य कमांड के साथ पाइप सॉर्ट करें

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

 ls -la | sort -k5 -rn

आउटपुट:

एक फ़ाइल को यादृच्छिक रूप से क्रमबद्ध करें

यदि आप टेक्स्ट फ़ाइल में पंक्तियों के क्रम को यादृच्छिक बनाना चाहते हैं तो आप -R ध्वज का उपयोग कर सकते हैं। फ़ाइल पर विचार करें textfile.txt :

 sort -R textfile.txt

आउटपुट:

एक फ़ाइल में संस्करण संख्याओं को क्रमबद्ध करें

यदि आपके पास एक पाठ फ़ाइल है जिसमें किसी पैकेज से जुड़ी संस्करण जानकारी है, तो आप -V या –version-sort ध्वज का उपयोग करके इसकी सामग्री को सॉर्ट कर सकते हैं।

 sort -V version.txt
sort --version-sort version.txt

आउटपुट:

जांचें कि क्या कोई फ़ाइल सॉर्ट की गई है

-c फ्लैग आपको उन फाइलों की पहचान करने में मदद करेगा जो पहले से निर्दिष्ट विकल्पों के अनुसार क्रमबद्ध हैं। यदि फ़ाइल की सामग्री को ठीक से सॉर्ट किया गया है, तो सॉर्ट कोई आउटपुट प्रदर्शित नहीं करेगा।

यह जांचने के लिए कि क्या फ़ाइल textfile.txt सॉर्ट की गई है:

 sort -c textfile.txt

अब, फाइल को सॉर्ट करते हैं और इसके आउटपुट को Sorted.txt नाम की एक नई फाइल में सेव करते हैं । निम्नलिखित आदेश जारी करने पर:

 sort -c sorted.txt

आउटपुट:

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

 sort -c -rn numbers.txt

आपको यह बताते हुए एक आउटपुट दिखाई देगा कि फ़ाइल ठीक से सॉर्ट नहीं की गई है। आइए फ़ाइल को सॉर्ट करें और जांचें कि क्या नई फ़ाइल परीक्षण पास करती है।

 sort -o sorted.txt -rn numbers.txt
sort -c -rn sorted.txt

आउटपुट:

फ़ाइल को सॉर्ट करें और डुप्लिकेट निकालें

जिस फ़ाइल के साथ आप काम कर रहे हैं उसमें डुप्लीकेट डेटा हो सकता है। यद्यपि आप फ़ाइल से ऐसी जानकारी को हटाने के लिए uniq कमांड का उपयोग कर सकते हैं, सॉर्ट आपके लिए यह कार्य कर सकता है। -U या –unique झंडा तुम क्या जरूरत है।

डुप्लिकेट.txt नाम की एक फ़ाइल पर विचार करें:

फ़ाइल को सॉर्ट करने और दोहराए गए डेटा को निकालने के लिए:

 sort -u duplicate.txt

आउटपुट:

आप देख सकते हैं कि जब आप -u ध्वज का उपयोग करते हैं, तो सॉर्ट केवल विशिष्ट रेखाएँ प्रदर्शित करता है और उन्हें निर्दिष्ट मानदंडों के अनुसार व्यवस्थित करता है।

लिनक्स में टेक्स्ट फाइलों के साथ काम करना

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

कमांड लाइन और सामान्य रूप से लिनक्स के साथ शुरू करने का सबसे अच्छा तरीका पहले बुनियादी कमांड का अभ्यास करना है। मौलिक उपयोगिताओं को कवर करने के बाद, धीरे-धीरे अधिक जटिल आदेशों की ओर बढ़ना शायद सबसे अच्छा तरीका है।