जवाबों:
उपयोग sort
के -k
विकल्प एक ही बार में (एकाधिक) कॉलम से सॉर्ट करने:
$ sort -k1,1 -k2n input
A 1-2
A 3-4
A 6-8
B 5-9
B 7-10
-k1,1
पहले कॉलम के आधार पर सॉर्ट करें, फिर दूसरे कॉलम के अनुसार, -k2n
जब पहला कॉलम बंधा हुआ था, तो आप अपना आउटपुट उस क्रम में प्राप्त करें, जैसा आप चाहते हैं: दूसरे कॉलम के पहले तत्व द्वारा क्रमबद्ध करना, केवल तभी जब पहला कॉलम तत्व समान हो।
संख्यात्मक रूप से छांटने पर यह केवल क्षेत्र की जांच करेगा जब तक कि यह एक संख्या होना बंद नहीं कर देता है, इसलिए यह आपको इसके पहले तत्व की तुलना देता है।
जब दो कुंजी एक ही तुलना करते हैं, तो sort
एक अंतिम उपाय की तुलना में पूरी तरह से पूरी तरह से लाइनों की तुलना करते हैं। में उदाहरण के लिए A 1-10
बनाम A 1-2
, पहली कुंजी समान (हैं A
स्ट्रिंग), और दूसरी चाबी के साथ-साथ (दोनों संख्या के रूप में इलाज कर रहे हैं 1
), इसलिए तो sort
तुलना A 1-10
बनाम A 1-2
lexically और बाद के रूप में अधिक से अधिक है 2
के बाद एक तरह 1
। जीएनयू कार्यान्वयन के sort
पास एक संस्करण सॉर्ट करने के लिए एक -V
विकल्प या V
कुंजी ध्वज होता है, जो कि एक शाब्दिक तुलना की तरह होता है सिवाय इसके कि तार के भीतर दशमलव अंकों के अनुक्रमों की तुलना संख्यात्मक रूप से की जाती है, इसलिए बाद में क्रमबद्ध होगा क्योंकि एक संख्या से अधिक है ।sort -k1,1 -k2V
A 1-10
A 1-2
10
2
¹ तकनीकी रूप से, -k2
लाइन का हिस्सा दूसरे क्षेत्र से शुरू होता है (गैर-रिक्त से रिक्त स्थान पर पहले संक्रमण के बाद) और पंक्ति के अंत में समाप्त होता है, लेकिन n
ध्वज के साथ , यह -k2,2n
केवल प्रमुख भाग के बराबर है माना जाता है कि एक संख्या का गठन होता है।