Em um sistema de arquivos em que os nomes de arquivos estão em UTF-8, tenho um arquivo com um nome com defeito; é exibido como D�sinstaller:, nome real de acordo com zsh D$'\351'sinstaller:, Latin1 para Désinstaller, ele próprio um barbarismo francês para "desinstalação". O Zsh não combinaria com isso, [[ $file =~ '^.*$' ]]mas sim com um brilho *- esse é o comportamento que eu espero.
Agora, ainda espero encontrá-lo durante a execução find . -name '*'- na verdade, nunca esperaria que um nome de arquivo falhasse neste teste. No entanto, com LANG=en_US.utf8, o arquivo não aparece e eu tenho que definir LANG=C(ou en_US, ou '') para que ele funcione.
Pergunta: Qual é a implementação por trás e como eu poderia prever esse resultado?
Informações: Arch Linux 3.14.37-1-lts, find (GNU findutils) 4.4.2
[[ $file =~ '^.*$' ]]não usar recodeo nome do arquivo, mas agora analisarei convmvse necessário. Obrigado.
convmvem converter nomes de arquivos para utf-8?