क्या गुन्नू कोरुटिल्स टूट गया है?


10

सॉर्ट करने के लिए निम्न इनपुट पर विचार करें:

cat > foo <<EOM
D,,5014978
DD,,25
D,I,1972765530
D,Y,4223624
-,Y,71285059
YA,I,2
EOM

अब दौड़ने की कोशिश करो sort foo

मेरे किसी भी बॉक्स बॉक्स (gnu coreutils संस्करण 6.9-7.4) पर यह कोशिश करने पर आउटपुट सॉर्ट नहीं किया जाता है। आउटपुट को सॉर्टविन (gnu coretuils 8.5) के तहत चलाया जाता है। टिप्पणियाँ?

जवाबों:


18

छंटाई स्थानीय पर निर्भर करती है; विशेष रूप से, यह निर्भर करता है $LC_COLLATE(संभवतः द्वारा ओवरराइड किया गया $LC_ALL), वापस गिरने पर $LANGअगर यह मौजूद नहीं है। कमांड localeआपको दिखाएगा कि आप किन मूल्यों के साथ प्रभावी ढंग से काम कर रहे हैं। देखें man 3 strcoll, man 3 setlocaleआदि।

LC_COLLATE=C(या POSIXबिल्कुल भी नहीं) एक सख्त बाइट-बाइट तुलना में परिणाम।

LC_COLLATE=en_US.utf8 एक वर्णानुक्रम-समतुल्य प्रकार में परिणाम, विराम चिह्नों के साथ और समान समतुल्य वर्ग के भीतर वर्ण समान रूप से व्यवहार किए जाते हैं।


वास्तव में, export LC_COLLATE=Cउम्मीद के
— मुताबिक

3
उच्चारण पूरी तरह से नजरअंदाज नहीं किए जाते हैं। पहलेStephane छाँटें , लेकिन बाद में छाँटें । के बराबर है (जैसे , , ...), लेकिन बराबर हैं, तो उन लोगों के बीच क्रम में अच्छी तरह से परिभाषित किया गया है। यह एक अच्छे पुराने पेपर शब्दकोश में समान है। StéphaneStephanieStéphaneéeêëẽ
— स्टीफन चेज़लस

यदि आप वास्तव में यह सब जानना चाहते हैं: unicode.org/reports/tr10
— मार्टिन टूरनोइज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.