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

सॉर्ट किए जाने वाले आइटम को किसी भी तरह से सीमित किया जाना चाहिए

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

छंटनी के लिए बुनियादी नियम

सॉर्ट कमांड उन्हें संख्यात्मक रूप से और वर्णानुक्रमित क्रमबद्ध करने के लिए टेक्स्ट फ़ाइल में पंक्तियों को पुनर्व्यवस्थित करता है। सॉर्ट कमांड के लिए डिफ़ॉल्ट नियम हैं:

एक पाठ फ़ाइल छंटनी

एक सीमित लिनक्स फ़ाइल में लाइनों को सॉर्ट करने के लिए, आप इस प्रकार सॉर्ट कमांड का उपयोग करते हैं:

$ sort -k2 test.txt

जो दूसरे कॉलम से शुरू होने वाले पात्रों के अनुसार फ़ाइल "test.txt" टाइप करता है (के 2 दूसरे कॉलम को संदर्भित करता है)। इनपुट फ़ाइल सामग्री मानना ​​है:

1, जस्टिन टिम्बरलेक, शीर्षक 545, मूल्य $ 7.30 2, टेलर स्विफ्ट, शीर्षक 723, मूल्य $ 7.90 3, मिक जागर, शीर्षक 610, मूल्य $ 7.90 4, लेडी गागा, शीर्षक 118, मूल्य $ 7.30 5, जॉनी कैश, शीर्षक 482, मूल्य $ 6.50 6, एल्विस प्रेस्ली, शीर्षक 335, मूल्य $ 7.30 7, जॉन लेनन, शीर्षक 271, मूल्य $ 7.90 8, माइकल जैक्सन, शीर्षक 373, मूल्य $ 5.50

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

6, एल्विस प्रेस्ली, शीर्षक 335, मूल्य $ 6.30 7, जॉन लेनन, शीर्षक 271, मूल्य $ 7.90 5, जॉनी कैश, शीर्षक 482, मूल्य $ 6.50 1, जस्टिन टिम्बरलेक, शीर्षक 545, मूल्य $ 6.30 4, लेडी गागा, शीर्षक 118, मूल्य $ 6.30 8, माइकल जैक्सन, शीर्षक 373, मूल्य $ 5.50 3, मिक जागर, शीर्षक 610, मूल्य $ 7.90 2, टेलर स्विफ्ट, शीर्षक 723, मूल्य $ 7.90

यदि आप फ़ाइल को -k3 के साथ सॉर्ट करते हैं (कॉलम 3-शीर्षक संख्या कॉलम से शुरू होने वाली लाइन सामग्री का उपयोग करके), आउटपुट है:

4, लेडी गागा, शीर्षक 118, मूल्य $ 6.30 7, जॉन लेनन, शीर्षक 271, मूल्य $ 7.90 6, एल्विस प्रेस्ली, शीर्षक 335, मूल्य $ 6.30 8, माइकल जैक्सन, शीर्षक 373, मूल्य $ 5.50 5, जॉनी कैश, शीर्षक 482, मूल्य $ 6.50 1, जस्टिन टिम्बरलेक, शीर्षक 545, मूल्य $ 6.30 3, मिक जागर, शीर्षक 610, मूल्य $ 7.90 2, टेलर स्विफ्ट, शीर्षक 723, मूल्य $ 7.90

तथा

$ sort -k4 test.txt

कीमत से क्रमबद्ध एक सूची तैयार करता है:

8, माइकल जैक्सन, शीर्षक 373, मूल्य $ 5.50 1, जस्टिन टिम्बरलेक, शीर्षक 545, मूल्य $ 6.30 4, लेडी गागा, शीर्षक 118, मूल्य $ 6.30 6, एल्विस प्रेस्ली, शीर्षक 335, मूल्य $ 6.30 5, जॉनी कैश, शीर्षक 482, मूल्य $ 6.50 2, टेलर स्विफ्ट, शीर्षक 723, मूल्य $ 7.90 3, मिक जागर, शीर्षक 610, मूल्य $ 7.90 7, जॉन लेनन, शीर्षक 271, मूल्य $ 7.90

एक क्रमबद्ध रिवर्सिंग

-r विकल्प सॉर्टिंग को उलट देता है। उदाहरण के लिए, ऊपर दिए गए परिणामों का उपयोग करना:

$ sort -k4 -r test.txt

पैदावार:

7, जॉन लेनन, शीर्षक 271, मूल्य $ 7.90 3, मिक जागर, शीर्षक 610, मूल्य $ 7.90 2, टेलर स्विफ्ट, शीर्षक 723, मूल्य $ 7.90 5, जॉनी कैश, शीर्षक 482, मूल्य $ 6.50 6, एल्विस प्रेस्ली, शीर्षक 335, मूल्य $ 6.30 4, लेडी गागा, शीर्षक 118, मूल्य $ 6.30 1, जस्टिन टिम्बरलेक, शीर्षक 545, मूल्य $ 6.30 8, माइकल जैक्सन, शीर्षक 373, मूल्य $ 5.50

एक क्रमबद्ध फ़ाइल सहेजा जा रहा है

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

sort -k4 -r test.txt> test_new.txt

जहां "test_new.txt" नई फ़ाइल है।

एक स्ट्रीम आउटपुट छंटनी

आप पाइप ऑपरेटर जैसे स्ट्रीम के आउटपुट में सॉर्ट कमांड भी लागू कर सकते हैं:

$ ls -al | sort -r -n -k5

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