फ़ाइल सिस्टम में जहां फ़ाइल नाम UTF-8 में हैं, मेरे पास एक फ़ाइल है जिसमें एक दोषपूर्ण नाम है; इसे D�sinstaller
zsh के अनुसार वास्तविक नाम के रूप में प्रदर्शित किया जाता है:, D$'\351'sinstaller
लैटिन 1 के लिए Désinstaller
, अपने आप में "अनइंस्टॉल" के लिए एक फ्रांसीसी बर्बरता है। Zsh इसके साथ मेल नहीं खाता, [[ $file =~ '^.*$' ]]
लेकिन एक ग्लोबिंग के साथ इसका मिलान करेगा- यह *
वह व्यवहार है जिसकी मुझे उम्मीद है।
अब भी मुझे यह उम्मीद है कि जब यह चल रहा होगा find . -name '*'
- तो बात यह है, मैं कभी भी इस परीक्षण में असफल होने की उम्मीद नहीं करूंगा। हालाँकि, इसके साथ LANG=en_US.utf8
, फ़ाइल दिखाई नहीं देती है , और मुझे इसे काम करने के लिए LANG=C
(या en_US
, ''
) सेट करना होगा।
प्रश्न: कार्यान्वयन के पीछे क्या है, और मैं उस परिणाम की भविष्यवाणी कैसे कर सकता था?
Infos: आर्क लिनक्स 3.14.37-1-lts, (GNU खोजक) 4.4.2 खोजें
[[ $file =~ '^.*$' ]]
उपयोग करने में विफल होने पर भरोसा करने के लिए उपयोग recode
करता हूं, लेकिन मैं अब इस पर ध्यान दूंगा convmv
कि क्या आवश्यकता होगी। धन्यवाद।
convmv
फ़ाइल नामों को utf-8 में बदलने के लिए विचार किया है?