निम्न फ़ाइलों को एक निर्देशिका में बनाएँ।
$ touch .a .b a b A B 你好嗎
मेरा डिफ़ॉल्ट lsआदेश प्रमुख डॉट्स की उपस्थिति को अनदेखा करता है, उन्हें अन्य फाइलों के साथ इंटरलामिंग करता है।
$ ls -Al
total 0
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 a
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 .a
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 A
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 b
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 .b
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 B
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:06 你好嗎
मैं पहले बिंदी लगाने के लिए बदल सकता हूं । LC_COLLATE
$ LC_COLLATE=C ls -Al
total 0
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 .a
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 .b
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 A
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 B
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 a
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:03 b
-rw-r--r-- 1 sparhawk sparhawk 0 Jun 8 17:06 你好嗎
दुर्भाग्य से यह क्रम क्रम को संवेदनशील बनाता है, अर्थात Aऔर Bपूर्ववर्ती aऔर b। क्या केस-असंवेदनशील ( Aऔर aपूर्ववर्ती Bऔर b) रहते हुए पहले डॉटफाइल्स को प्रिंट करने का कोई तरीका है ?
संपादित करें: LC_COLLATE को संशोधित करने का प्रयास
अब तक कोई भी उत्तर पूरी तरह से lsआसानी से कार्यक्षमता को दोहराता नहीं है । जाहिर है, मैं उनमें से कुछ को एक फ़ंक्शन में लपेट सकता हूं, लेकिन इसमें कुछ विस्तृत कोड को शामिल करना होगा (जैसे) बिना तर्क के कैसे काम करना है / एक निर्देशिका के रूप में एक तर्क की आपूर्ति करना। या एक स्पष्ट -dध्वज से कैसे निपटना है ।
वैकल्पिक रूप से, मैंने सोचा कि शायद LC_COLLATEउपयोग करने के लिए बेहतर हो सकता है । हालाँकि, मैं यह काम नहीं कर सकता। मैं वर्तमान में उपयोग कर रहा हूं LC_COLLATE="en_AU.UTF-8"। मैंने जाँच की /usr/share/i18n/locales/en_AU(हालाँकि मुझे यकीन नहीं है कि यह सही फ़ाइल है, क्योंकि मैं कोई संदर्भ नहीं देख सकता UTF-8); मैंने निम्नलिखित पाया।
LC_COLLATE
copy "iso14651_t1"
END LC_COLLATE
/usr/share/i18n/locales/iso14651_t1होता है copy "iso14651_t1_common"। अंत में, /usr/share/i18n/locales/iso14651_t1_commonशामिल है
<U002E> IGNORE;IGNORE;IGNORE;<U002E> # 47 .
मैंने यह लाइन हटाई sudo locale-gen, अपने कंप्यूटर को चलाया , और फिर से शुरू किया। दुर्भाग्य से, यह कुछ भी नहीं बदला।