सॉर्ट करें (यूनिक्स)

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

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

इसी तरह के कमांड कई अन्य ऑपरेटिंग सिस्टम पर उपलब्ध हैं, उदाहरण के लिए a sort कमांड MSX-DOS संस्करण 2 के लिए ASCII Corporation के MSX-DOS2 टूल्स का हिस्सा है।

{{Mono|sort}rt}} कमांड को IBM i ऑपरेटिंग सिस्टम में भी पोर्ट किया गया है।

वाक्यविन्यास
सॉर्ट करें [विकल्प]... [फ़ाइल]...

कोई साथ, या जब   है  , कमांड मानक इनपुट से पढ़ता है।

संख्या के अनुसार क्रमबद्ध करें
e> विकल्प प्रोग्राम को संख्यात्मक मान के अनुसार क्रमित करता है। du} कमांड आउटपुट उत्पन्न करता है जो एक संख्या, फ़ाइल आकार से शुरू होता है, इसलिए इसके आउटपुट को पाइप किया जा सकता है sort (आरोही) फ़ाइल आकार के अनुसार क्रमबद्ध फ़ाइलों की एक सूची तैयार करने के लिए:

find} कमांड के साथ ls विकल्प 7वें फ़ील्ड में फ़ाइल आकार प्रिंट करता है, इसलिए इसकी एक सूची LaTeXफ़ाइल आकार के आधार पर क्रमबद्ध फ़ाइलें निम्न द्वारा उत्पादित की जाती हैं:

कॉलम या फ़ील्ड
उपयोग  एक निश्चित कॉलम पर सॉर्ट करने का विकल्प। उदाहरण के लिए, उपयोग करें दूसरे कॉलम पर क्रमबद्ध करने के लिए. सॉर्ट के पुराने संस्करणों में,  विकल्प ने प्रोग्राम को डेटा के दूसरे कॉलम पर क्रमबद्ध कर दिया (  तीसरे के लिए, आदि)। यह प्रयोग अस्वीकृत है.

एकाधिक फ़ील्ड पर क्रमबद्ध करें
ई> विकल्प आपको एक कुंजी को सॉर्ट करने देता है जो संभावित रूप से कई फ़ील्ड से बनी होती है (कॉलम से प्रारंभ करें)।, कॉलम पर समाप्त करें  ):

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

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

उल्टा क्रमबद्ध करें
e> विकल्प सॉर्ट के क्रम को उलट देता है:

यादृच्छिक क्रमबद्ध करें
जीएनयू कार्यान्वयन में एक है  हैशिंग पर आधारित विकल्प; यह पूर्ण यादृच्छिक फेरबदल नहीं है क्योंकि यह समान पंक्तियों को एक साथ क्रमबद्ध करेगा। यूनिक्स उपयोगिता shuf द्वारा एक सच्चा यादृच्छिक सॉर्ट प्रदान किया जाता है।

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

यह भी देखें

 * संकलन
 * अद्वितीय ्स कमांड की सूची
 * यूनिक
 * शुफ़

बाहरी संबंध

 * Original Sort manpage The original BSD Unix program's manpage
 * Further details about sort at Softpanorama
 * Further details about sort at Softpanorama
 * Further details about sort at Softpanorama
 * Further details about sort at Softpanorama