तरह
RSI तरह प्रोग्राम मानक इनपुट की सामग्री, या कमांड लाइन पर निर्दिष्ट एक या अधिक फ़ाइलों को सॉर्ट करता है, और परिणाम मानक आउटपुट पर भेजता है। उसी तकनीक का उपयोग करना जिसका हमने उपयोग किया था बिल्ली, हम सीधे कीबोर्ड से मानक इनपुट की प्रोसेसिंग प्रदर्शित कर सकते हैं:
[मुझे@लिनक्सबॉक्स ~]$ सॉर्ट करें > foo.txt
सीबीए
[मुझे@लिनक्सबॉक्स ~]$ बिल्ली foo.txt
एबीसी
[मुझे@लिनक्सबॉक्स ~]$ सॉर्ट करें > foo.txt
सीबीए
[मुझे@लिनक्सबॉक्स ~]$ बिल्ली foo.txt
एबीसी
कमांड दर्ज करने के बाद, हम अक्षर "सी", "बी" और "ए" टाइप करते हैं, उसके बाद एक बार फिर टाइप करते हैं Ctrl-डी फ़ाइल के अंत को इंगित करने के लिए। फिर हम परिणामी फ़ाइल को देखते हैं और देखते हैं कि पंक्तियाँ अब क्रमबद्ध क्रम में दिखाई देती हैं।
जबसे तरह कमांड लाइन पर एकाधिक फ़ाइलों को तर्क के रूप में स्वीकार करना संभव है मर्ज एकाधिक फ़ाइलों को एक ही क्रम में संपूर्ण रूप से क्रमबद्ध किया गया। उदाहरण के लिए, यदि हमारे पास तीन टेक्स्ट फ़ाइलें हैं और हम उन्हें एक क्रमबद्ध फ़ाइल में संयोजित करना चाहते हैं, तो हम ऐसा कुछ कर सकते हैं:
सॉर्ट फ़ाइल1.txt फ़ाइल2.txt फ़ाइल3.txt > फाइनल_सॉर्टेड_लिस्ट.txt
सॉर्ट फ़ाइल1.txt फ़ाइल2.txt फ़ाइल3.txt > फाइनल_सॉर्टेड_लिस्ट.txt
सॉर्ट में कई दिलचस्प विकल्प हैं। यहाँ एक आंशिक सूची है:
तालिका 20-1: सामान्य सॉर्ट विकल्प
विकल्प | लंबा विकल्प | Description |
-b | --अनदेखा-अग्रणी-रिक्त स्थान | डिफ़ॉल्ट रूप से, सॉर्टिंग चालू की जाती है |
से शुरू होकर पूरी लाइन | ||
पंक्ति में पहला अक्षर. यह | ||
विकल्प अनदेखा करने का कारण बनता है | ||
पंक्तियों में अग्रणी स्थान और | ||
पहले के आधार पर छँटाई की गणना करता है | ||
पर गैर-व्हाट्सएप वर्ण | ||
लाइन. | ||
-f | --मामले की अनदेखी करें | सॉर्टिंग को केस-असंवेदनशील बनाता है। |
-n | --संख्यात्मक-सॉर्ट | किसी स्ट्रिंग के संख्यात्मक मूल्यांकन के आधार पर सॉर्टिंग करता है। इस विकल्प का उपयोग करने से वर्णानुक्रमिक मानों के बजाय संख्यात्मक मानों पर सॉर्टिंग की जा सकती है। |
-r | --उलटना | उल्टे क्रम में क्रमबद्ध करें. नतीजे आ गए हैं |
चढ़ने की बजाय नीचे की ओर उतरना | ||
आदेश. | ||
-k | --कुंजी=field1[,field2] | स्थित मुख्य फ़ील्ड के आधार पर क्रमबद्ध करें |
से field1 सेवा मेरे field2 इसके बजाय | ||
पूरी लाइन. नीचे चर्चा देखें. | ||
-m | --मर्ज | प्रत्येक तर्क को नाम के रूप में मानें |
एक निर्दिष्ट फ़ाइल का. एकाधिक मर्ज करें | ||
एकल क्रमबद्ध परिणाम में फ़ाइलें | ||
बिना कोई अतिरिक्त कार्य किए | ||
छँटाई. | ||
-o | --आउटपुट=पट्टिका | क्रमबद्ध आउटपुट को भेजें पट्टिका बल्कि |
मानक आउटपुट से. | ||
-t | --क्षेत्र-विभाजक=टैंक | फ़ील्ड-विभाजक को परिभाषित करें |
चरित्र। डिफ़ॉल्ट रूप से फ़ील्ड हैं | ||
रिक्त स्थान या टैब द्वारा अलग किया गया। |
हालाँकि ऊपर दिए गए अधिकांश विकल्प स्वयं-व्याख्यात्मक हैं, कुछ नहीं हैं। सबसे पहले, आइए देखें -n विकल्प, संख्यात्मक छँटाई के लिए उपयोग किया जाता है। इस विकल्प के साथ, संख्यात्मक मानों के आधार पर मानों को क्रमबद्ध करना संभव है। हम इसके परिणामों को क्रमबद्ध करके इसे प्रदर्शित कर सकते हैं du डिस्क स्थान के सबसे बड़े उपयोगकर्ताओं को निर्धारित करने के लिए आदेश। आम तौर पर, du कमांड पथनाम क्रम में सारांश के परिणामों को सूचीबद्ध करता है:
[मुझे@लिनक्सबॉक्स ~]$ du -s /usr/share/* | सिर
252 /यूएसआर/शेयर/एक्लोकल
96 /यूएसआर/शेयर/एसीपीआई-समर्थन
8 /usr/share/aduser
196 /यूएसआर/शेयर/एलाकार्ट
344 /यूएसआर/शेयर/अलसा
8 /यूएसआर/शेयर/अलसा-बेस 12488 /यूएसआर/शेयर/एंथी
8 /usr/शेयर/apmd
21440 /यूएसआर/शेयर/ऐप-इंस्टॉल
48 /usr/शेयर/एप्लिकेशन-रजिस्ट्री
[मुझे@लिनक्सबॉक्स ~]$ du -s /usr/share/* | सिर
252 /यूएसआर/शेयर/एक्लोकल
96 /यूएसआर/शेयर/एसीपीआई-समर्थन
8 /usr/share/aduser
196 /यूएसआर/शेयर/एलाकार्ट
344 /यूएसआर/शेयर/अलसा
8 /यूएसआर/शेयर/अलसा-बेस 12488 /यूएसआर/शेयर/एंथी
8 /usr/शेयर/apmd
21440 /यूएसआर/शेयर/ऐप-इंस्टॉल
48 /usr/शेयर/एप्लिकेशन-रजिस्ट्री
इस उदाहरण में, हम परिणामों को पाइप करते हैं सिर परिणामों को पहली दस पंक्तियों तक सीमित करने के लिए। हम अंतरिक्ष के दस सबसे बड़े उपभोक्ताओं को इस प्रकार दिखाने के लिए संख्यात्मक रूप से क्रमबद्ध सूची तैयार कर सकते हैं:
[मुझे@लिनक्सबॉक्स ~]$ du -s /usr/share/* | सॉर्ट -एनआर | सिर
509940 /यूएसआर/शेयर/लोकेल-लैंगपैक
242660 /usr/share/doc
197560 /यूएसआर/शेयर/फोंट
179144 /यूएसआर/शेयर/ग्नोम
146764 /यूएसआर/शेयर/माइस्पेल
144304 /यूएसआर/शेयर/जिम्प
135880 /यूएसआर/शेयर/डिक्ट
76508 /यूएसआर/शेयर/आइकॉन्स
68072 /यूएसआर/शेयर/ऐप्स
62844 /यूएसआर/शेयर/फूमैटिक
[मुझे@लिनक्सबॉक्स ~]$ du -s /usr/share/* | सॉर्ट -एनआर | सिर
509940 /यूएसआर/शेयर/लोकेल-लैंगपैक
242660 /usr/share/doc
197560 /यूएसआर/शेयर/फोंट
179144 /यूएसआर/शेयर/ग्नोम
146764 /यूएसआर/शेयर/माइस्पेल
144304 /यूएसआर/शेयर/जिम्प
135880 /यूएसआर/शेयर/डिक्ट
76508 /यूएसआर/शेयर/आइकॉन्स
68072 /यूएसआर/शेयर/ऐप्स
62844 /यूएसआर/शेयर/फूमैटिक
इस का उपयोग करके -एनआरई विकल्प, हम एक रिवर्स संख्यात्मक सॉर्ट तैयार करते हैं, जिसमें सबसे बड़े मान परिणामों में पहले दिखाई देते हैं। यह सॉर्ट काम करता है क्योंकि संख्यात्मक मान प्रत्येक पंक्ति की शुरुआत में होते हैं। लेकिन क्या होगा यदि हम पंक्ति के भीतर पाए गए कुछ मानों के आधार पर सूची को क्रमबद्ध करना चाहते हैं? उदाहरण के लिए, एक के परिणाम ls -l:
[मुझे@लिनक्सबॉक्स ~]$ एलएस -एल /यूएसआर/बिन | सिर
कुल 152948
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 34824 | 2016-04-04 | 02:42 | [ |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 101556 | 2007-11-27 | 06:08 | a2p |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 13036 | 2016-02-27 | 08:22 | एक कनेक्ट |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 10552 | 2007-08-15 | 10:34 | अकपी |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 3800 | 2016-04-14 | 03:51 | acpi_fakekey |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 7536 | 2016-04-19 | 00:19 | acpi_सुनो |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 3576 | 2016-04-29 | 07:57 | addpart |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 20808 | 2016-01-03 | 18:02 | Addr2line |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 489704 | 2016-10-09 | 17:02 | निपुण_बैच |
फ़िलहाल, उसे अनदेखा कर रहा हूँ ls इसके परिणामों को आकार के आधार पर क्रमबद्ध कर सकते हैं, हम इसका उपयोग कर सकते हैं तरह इस सूची को फ़ाइल आकार के आधार पर क्रमबद्ध करने के लिए:
[मुझे@लिनक्सबॉक्स ~]$ एलएस -एल /यूएसआर/बिन | सॉर्ट -एनआर -के 5 | सिर
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 8234216 | 2016-04-07 | 17:42 | इंकस्केप |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 8222692 | 2016-04-07 | 17:42 | इंकव्यू |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 3746508 | 2016-03-07 | 23:45 | जिम्प 2.4 |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 3654020 | 2016-08-26 | 16:16 | क्वांटा |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 2928760 | 2016-09-10 | 14:31 | gdbtui |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 2928756 | 2016-09-10 | 14:31 | जी.डी.बी. |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 2602236 | 2016-10-10 | 12:56 | जाल |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 2304684 | 2016-10-10 | 12:56 | अधकचरा |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 2241832 | 2016-04-04 | 05:56 | योग्यता |
-आरडब्ल्यूएक्सआर-एक्सआर-एक्स | 1 | जड़ | जड़ | 2202476 | 2016-10-10 | 12:56 | तोड़-फोड़ करना |
के अनेक उपयोग तरह का प्रसंस्करण शामिल है सारणीबद्ध आंकड़े, जैसे कि के परिणाम ls ऊपर आदेश. यदि हम उपरोक्त तालिका में डेटाबेस शब्दावली लागू करते हैं, तो हम कहेंगे कि प्रत्येक पंक्ति एक है रिकॉर्ड और यह कि प्रत्येक रिकॉर्ड में एकाधिक होते हैं फ़ील्ड्स, जैसे फ़ाइल विशेषताएँ, लिंक संख्या, फ़ाइल नाम, फ़ाइल आकार इत्यादि। तरह व्यक्तिगत क्षेत्रों को संसाधित करने में सक्षम है। डेटाबेस के संदर्भ में, हम एक या अधिक निर्दिष्ट करने में सक्षम हैं प्रमुख क्षेत्र के रूप में उपयोग करने के लिए कुंजियाँ क्रमबद्ध करें. उपरोक्त उदाहरण में, हम निर्दिष्ट करते हैं n और r रिवर्स संख्यात्मक सॉर्ट करने और निर्दिष्ट करने के विकल्प -k 5 करने के लिए बनाने तरह सॉर्टिंग के लिए कुंजी के रूप में पांचवें फ़ील्ड का उपयोग करें।
RSI k विकल्प बहुत दिलचस्प है और इसमें कई विशेषताएं हैं, लेकिन पहले हमें कैसे के बारे में बात करनी होगी तरह फ़ील्ड्स को परिभाषित करता है. आइए एक बहुत ही सरल टेक्स्ट फ़ाइल पर विचार करें जिसमें लेखक का नाम वाली एक पंक्ति शामिल है:
विलियम शॉट्स
विलियम शॉट्स
डिफ़ॉल्ट रूप से, तरह इस पंक्ति को दो फ़ील्ड के रूप में देखता है। पहले फ़ील्ड में वर्ण शामिल हैं:
"विलियम"
और दूसरे फ़ील्ड में ये अक्षर हैं:
"शॉट्स"
इसका मतलब है कि व्हाइटस्पेस वर्ण (रिक्त स्थान और टैब) का उपयोग फ़ील्ड के बीच सीमांकक के रूप में किया जाता है और सॉर्टिंग करते समय सीमांकक को फ़ील्ड में शामिल किया जाता है।
हमारी ओर से एक पंक्ति को फिर से देख रहे हैं ls आउटपुट में, हम देख सकते हैं कि एक पंक्ति में आठ फ़ील्ड हैं और पाँचवाँ फ़ील्ड फ़ाइल आकार है:
-rwxr-xr-x 1 रूट रूट 8234216 2016-04-07 17:42 इंकस्केप
-rwxr-xr-x 1 रूट रूट 8234216 2016-04-07 17:42 इंकस्केप
प्रयोगों की हमारी अगली श्रृंखला के लिए, आइए निम्नलिखित फ़ाइल पर विचार करें जिसमें 2006 से 2008 तक जारी तीन लोकप्रिय लिनक्स वितरणों का इतिहास शामिल है। फ़ाइल की प्रत्येक पंक्ति में तीन फ़ील्ड हैं: वितरण नाम, संस्करण संख्या और एमएम/डीडी में रिलीज़ की तारीख /YYYY प्रारूप:
SUSE | 10.2 | 12/07/2006 |
फेडोरा | 10 | 11/25/2008 |
SUSE | 11.0 | 06/19/2008 |
Ubuntu | 8.04 | 04/24/2008 |
फेडोरा | 8 | 11/08/2007 |
SUSE | 10.3 | 10/04/2007 |
Ubuntu | 6.10 | 10/26/2006 |
फेडोरा | 7 | 05/31/2007 |
Ubuntu | 7.10 | 10/18/2007 |
Ubuntu | 7.04 | 04/19/2007 |
SUSE | 10.1 | 05/11/2006 |
फेडोरा | 6 | 10/24/2006 |
फेडोरा | 9 | 05/13/2008 |
Ubuntu | 6.06 | 06/01/2006 |
Ubuntu | 8.10 | 10/30/2008 |
फेडोरा | 5 | 03/20/2006 |
टेक्स्ट एडिटर का उपयोग करना (संभवतः शक्ति), हम इस डेटा को दर्ज करेंगे और परिणामी फ़ाइल को नाम देंगे dis- tros.txt.
इसके बाद, हम फ़ाइल को क्रमबद्ध करने का प्रयास करेंगे और परिणाम देखेंगे:
[me@linuxbox | ~] $ | distros.txt को सॉर्ट करें |
फेडोरा 10 | 11/25/2008 | |
फेडोरा 5 | 03/20/2006 | |
फेडोरा 6 | 10/24/2006 | |
फेडोरा 7 | 05/31/2007 | |
फेडोरा 8 | 11/08/2007 | |
फेडोरा 9 | 05/13/2008 | |
एसयूएसई 10.1 | 05/11/2006 | |
एसयूएसई 10.2 | 12/07/2006 | |
एसयूएसई 10.3 | 10/04/2007 | |
एसयूएसई 11.0 | 06/19/2008 | |
Ubuntu के 6.06 | 06/01/2006 | |
Ubuntu के 6.10 | 10/26/2006 | |
Ubuntu के 7.04 | 04/19/2007 | |
Ubuntu के 7.10 | 10/18/2007 | |
Ubuntu के 8.04 | 04/24/2008 | |
Ubuntu के 8.10 | 10/30/2008 |
ख़ैर, यह अधिकतर काम करता रहा। समस्या फेडोरा संस्करण संख्याओं को क्रमबद्ध करने में होती है। चूँकि वर्ण सेट में "1" "5" से पहले आता है, संस्करण "10" शीर्ष पर समाप्त होता है जबकि संस्करण "9" नीचे आता है।
इस समस्या को ठीक करने के लिए हमें कई कुंजियों को क्रमबद्ध करना होगा। हम पहले फ़ील्ड पर वर्णानुक्रमिक सॉर्ट करना चाहते हैं और फिर दूसरे फ़ील्ड पर संख्यात्मक सॉर्ट करना चाहते हैं। तरह की अनुमति देता है
के अनेक उदाहरण -k विकल्प ताकि एकाधिक सॉर्ट कुंजियाँ निर्दिष्ट की जा सकें। वास्तव में, एक कुंजी में फ़ील्ड की एक श्रृंखला शामिल हो सकती है। यदि कोई सीमा निर्दिष्ट नहीं है (जैसा कि हमारे पिछले उदाहरणों में हुआ है), तरह एक कुंजी का उपयोग करता है जो निर्दिष्ट फ़ील्ड से शुरू होती है और पंक्ति के अंत तक विस्तारित होती है। यहां हमारे बहु-कुंजी सॉर्ट के लिए सिंटैक्स दिया गया है:
[me@linuxbox | ~] $ | क्रमबद्ध करें --कुंजी=1,1 --कुंजी=2n distros.txt |
फेडोरा 5 | 03/20/2006 | |
फेडोरा 6 | 10/24/2006 | |
फेडोरा 7 | 05/31/2007 | |
फेडोरा 8 | 11/08/2007 | |
फेडोरा 9 | 05/13/2008 | |
फेडोरा 10 | 11/25/2008 | |
एसयूएसई 10.1 | 05/11/2006 | |
एसयूएसई 10.2 | 12/07/2006 | |
एसयूएसई 10.3 | 10/04/2007 | |
एसयूएसई 11.0 | 06/19/2008 | |
Ubuntu के 6.06 | 06/01/2006 | |
Ubuntu के 6.10 | 10/26/2006 | |
Ubuntu के 7.04 | 04/19/2007 | |
Ubuntu के 7.10 | 10/18/2007 | |
Ubuntu के 8.04 | 04/24/2008 | |
Ubuntu के 8.10 | 10/30/2008 |
हालाँकि हमने स्पष्टता के लिए विकल्प के लंबे रूप का उपयोग किया, -के 1,1 -के 2एन बिलकुल समतुल्य होगा. कुंजी विकल्प के पहले उदाहरण में, हमने पहली कुंजी में शामिल करने के लिए फ़ील्ड की एक श्रृंखला निर्दिष्ट की है। चूँकि हम सॉर्ट को केवल पहले फ़ील्ड तक सीमित करना चाहते थे, इसलिए हमने निर्दिष्ट किया 1,1 जिसका अर्थ है "क्षेत्र एक से शुरू करें और क्षेत्र एक पर समाप्त करें।" दूसरे उदाहरण में, हमने निर्दिष्ट किया 2n, जिसका अर्थ है कि फ़ील्ड 2 सॉर्ट कुंजी है और सॉर्ट संख्यात्मक होना चाहिए। निष्पादित किए जाने वाले सॉर्ट के प्रकार को इंगित करने के लिए कुंजी विनिर्देशक के अंत में एक विकल्प पत्र शामिल किया जा सकता है। ये विकल्प पत्र वैश्विक विकल्पों के समान ही हैं तरह कार्यक्रम-ग्राम: b (अग्रणी रिक्त स्थानों पर ध्यान न दें), n (संख्यात्मक क्रम), r (रिवर्स सॉर्ट), इत्यादि।
हमारी सूची के तीसरे फ़ील्ड में सॉर्टिंग के लिए असुविधाजनक प्रारूप में एक तारीख है। कंप्यूटर पर, कालानुक्रमिक क्रम को आसान बनाने के लिए तारीखों को आमतौर पर YYYY-MM-DD क्रम में स्वरूपित किया जाता है, लेकिन हमारे यहां MM/DD/YYYY के अमेरिकी प्रारूप में हैं। हम इस सूची को कालानुक्रमिक क्रम में कैसे क्रमबद्ध कर सकते हैं?
सौभाग्य से, तरह एक रास्ता प्रदान करता है. कुंजी विकल्प विशिष्टता की अनुमति देता है ऑफसेट फ़ील्ड के भीतर, इसलिए हम फ़ील्ड के भीतर कुंजियाँ परिभाषित कर सकते हैं:
[मुझे@लिनक्सबॉक्स ~]$ सॉर्ट -k 3.7nbr -k 3.1nbr -k 3.4nbr distros.txt
फेडोरा 10 11/25/2008
उबंटू 8.10 10/30/2008
[मुझे@लिनक्सबॉक्स ~]$ सॉर्ट -k 3.7nbr -k 3.1nbr -k 3.4nbr distros.txt
फेडोरा 10 11/25/2008
उबंटू 8.10 10/30/2008
SUSE | 11.0 | 06/19/2008 |
फेडोरा | 9 | 05/13/2008 |
Ubuntu | 8.04 | 04/24/2008 |
फेडोरा | 8 | 11/08/2007 |
Ubuntu | 7.10 | 10/18/2007 |
SUSE | 10.3 | 10/04/2007 |
फेडोरा | 7 | 05/31/2007 |
Ubuntu | 7.04 | 04/19/2007 |
SUSE | 10.2 | 12/07/2006 |
Ubuntu | 6.10 | 10/26/2006 |
फेडोरा | 6 | 10/24/2006 |
Ubuntu | 6.06 | 06/01/2006 |
SUSE | 10.1 | 05/11/2006 |
फेडोरा | 5 | 03/20/2006 |
निर्दिष्ट करके -k 3.7 हम निर्देश देते हैं तरह सॉर्ट कुंजी का उपयोग करने के लिए जो तीसरे फ़ील्ड के भीतर सातवें अक्षर से शुरू होती है, जो वर्ष की शुरुआत से मेल खाती है। इसी तरह, हम निर्दिष्ट करते हैं -k 3.1 और -k 3.4 तारीख के महीने और दिन के हिस्सों को अलग करने के लिए। हम भी जोड़ते हैं n और r रिवर्स संख्यात्मक सॉर्ट प्राप्त करने के लिए विकल्प। b दिनांक फ़ील्ड में प्रमुख रिक्त स्थान (जिनकी संख्याएँ पंक्ति दर पंक्ति भिन्न होती हैं, जिससे सॉर्ट के परिणाम प्रभावित होते हैं) को दबाने के लिए विकल्प शामिल किया गया है।
कुछ फ़ाइलें फ़ील्ड सीमांकक के रूप में टैब और रिक्त स्थान का उपयोग नहीं करती हैं; उदाहरण के लिए, / Etc / पासवर्ड
फ़ाइल:
[मुझे@लिनक्सबॉक्स ~]$ हेड /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh
[मुझे@लिनक्सबॉक्स ~]$ हेड /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh
इस फ़ाइल में फ़ील्ड्स को कोलन से सीमांकित किया गया है (:), तो हम कुंजी फ़ील्ड का उपयोग करके इस फ़ाइल को कैसे क्रमबद्ध करेंगे? तरह प्रदान करता है -t फ़ील्ड विभाजक वर्ण को परिभाषित करने का विकल्प। क्रमबद्ध करने के लिए पासवर्ड सातवें फ़ील्ड (खाते का डिफ़ॉल्ट शेल) पर फ़ाइल करें, हम यह कर सकते हैं:
[मुझे@लिनक्सबॉक्स ~]$ सॉर्ट -t ':' -k 7 /etc/passwd | सिर
me:x:1001:1001:मैं स्वयं,,,:/home/me:/bin/bash
[मुझे@लिनक्सबॉक्स ~]$ सॉर्ट -t ':' -k 7 /etc/passwd | सिर
me:x:1001:1001:मैं स्वयं,,,:/home/me:/bin/bash
रूट:x:0:0:रूट:/रूट:/बिन/बैश dhcp:x:101:102::/अस्तित्वहीन:/बिन/गलत
gdm:x:106:114:ग्नोम डिस्प्ले मैनेजर:/var/lib/gdm:/bin/false hplip:x:104:7:HPLIP सिस्टम उपयोगकर्ता,,,:/var/run/hplip:/bin/false klog :x:103:104::/home/klog:/bin/false messagebus:x:108:119::/var/run/dbus:/bin/false polkituser:x:110:122:PolicyKit,,,: /var/run/PolicyKit:/bin/false पल्स:x:107:116:PulseAudio डेमॉन,,,:/var/run/पल्स:/bin/false
रूट:x:0:0:रूट:/रूट:/बिन/बैश dhcp:x:101:102::/अस्तित्वहीन:/बिन/गलत
gdm:x:106:114:ग्नोम डिस्प्ले मैनेजर:/var/lib/gdm:/bin/false hplip:x:104:7:HPLIP सिस्टम उपयोगकर्ता,,,:/var/run/hplip:/bin/false klog :x:103:104::/home/klog:/bin/false messagebus:x:108:119::/var/run/dbus:/bin/false polkituser:x:110:122:PolicyKit,,,: /var/run/PolicyKit:/bin/false पल्स:x:107:116:PulseAudio डेमॉन,,,:/var/run/पल्स:/bin/false
कोलन कैरेक्टर को फ़ील्ड विभाजक के रूप में निर्दिष्ट करके, हम सातवें फ़ील्ड पर सॉर्ट कर सकते हैं।