क्रमवारी लावलेले आयटम काही मार्गाने मर्यादित असणे आवश्यक आहे
लिनक्स टेक्स्ट फाईल मधील डेटा क्रमवार आदेशानुसार सॉर्ट करता येते जोपर्यंत प्रत्येक घटक काही प्रकारे सींबीबद्ध केला जातो. वारंवार, सीमारेषा अलिप्त करण्यायोग्य माहितीसाठी विभाजक म्हणून वापरली जाते.
क्रमवारीसाठी प्राथमिक नियम
सॉर्ट कमांड संख्या-आधारित आणि वर्णानुक्रमाने क्रमवारी लावण्याकरिता एका मजकूर फाईलमधील ओळींना पुनर्रचना देतो. क्रमवारी आदेश करीता मुलभूत नियम हे आहेत:
- अक्षराने सुरू होणारा मजकूर अक्षराने सुरू होणारा मजकूर आधी दिसतो; कमी संख्या प्रथम क्रमवारी लावा.
- वर्णांनुसार वर्णनास प्रारंभ झालेल्या मजकूरासह सुरू होणारे अक्षर जे आधीपासून अक्षरमालेतील पहिल्या अक्षराने लिहिलेले आहेत ते अक्षराने सुरू होणारे अक्षर.
- जेथे समान अक्षराचा अप्परकेस आणि लोअरकेस उदाहरणे सह मजकूर प्रारंभ होतो, तेव्हा लोअरकेस इव्हेंट प्रथम सॉर्ट केला जातो.
एक मजकूर फाइल क्रमवारीत लावा
एका सीमारेषीत लिनक्स फाइलमधील ओळी क्रमवारित करण्यासाठी, आपण याप्रमाणे क्रमवारी आदेश वापरता:
$ 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 डॉलर, जॉन लेनन, शीर्षक 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, मिक Jagger, शीर्षक 610, किंमत $ 7.90 7, जॉन लेनन, शीर्षक 271, किंमत $ 7.90क्रमवारी उलटा
-r पर्याय क्रमवारी परत घेतो उदाहरणार्थ, वरील परिणाम वापरून:
$ sort -k4 -r test.txtउत्पादन:
7, जॉन लेनन, शीर्षक 271, किंमत $ 7.90 3, मिक Jagger, शीर्षक 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एक Sorted File जतन करीत आहे
एखादी फाइल क्रमवारीत जतन केली जात नाही फाइलमध्ये क्रमवारी यादी जतन करण्यासाठी आपण पुनर्निर्देशित ऑपरेटरचा वापर करतो.
sort -k4 -r test.txt> test_new.txtजेथे "test_new.txt" ही नवीन फाइल आहे
एक प्रवाह आउटपुट क्रमवारीत लावणे
आपण स्ट्रीमच्या आउटपुटसाठी क्रमवारी आदेश देखील लागू करू शकता, जसे की पाईप ऑपरेटर:
$ ls -al | क्रम-आर-एन -के 5ही ls कमांडद्वारे फाईलच्या आकाराने बनविलेल्या फाईल्सची आउटपुट आहे. -n ऑपरेटर वर्णक्रमानुसार ऐवजी क्रमवारी निर्दिष्ट करते.