W systemie plików, w którym nazwy plików znajdują się w UTF-8, mam plik o błędnej nazwie; jest wyświetlany jako :, D�sinstaller
rzeczywista nazwa według zsh D$'\351'sinstaller
:, Latin1 dla Désinstaller
, sam francuski barbarzyństwo dla „odinstaluj”. Zsh nie [[ $file =~ '^.*$' ]]
pasowałby do tego, ale pasowałby do niego globbingiem *
- takiego zachowania się oczekuję.
Teraz nadal oczekuję, że znajdę go podczas działania find . -name '*'
- w rzeczywistości nigdy nie spodziewałbym się, że nazwa pliku nie przejdzie tego testu. Jednak z LANG=en_US.utf8
, plik nie pojawia się i muszę ustawić LANG=C
(lub en_US
, lub ''
), aby działał.
Pytanie: Jakie jest wdrożenie i jak mogłem przewidzieć ten wynik?
Informacje: Arch Linux 3.14.37-1-lts, find (GNU findutils) 4.4.2
[[ $file =~ '^.*$' ]]
tym, że nie używam recode
nazwy pliku, ale teraz zajrzę w convmv
razie potrzeby. Dzięki.
convmv
konwersję nazw plików na utf-8?