En un sistema de archivos donde los nombres de archivo están en UTF-8, tengo un archivo con un nombre defectuoso; se muestra como:, D�sinstallernombre real de acuerdo con zsh:, D$'\351'sinstallerLatin1 para Désinstallersí mismo, una barbarie francesa para "desinstalar". Zsh no coincidiría con él, [[ $file =~ '^.*$' ]]pero lo haría con un problema: este *es el comportamiento que espero.
Ahora todavía espero encontrarlo cuando lo find . -name '*'ejecuto; de hecho, nunca esperaría que un nombre de archivo falle esta prueba. Sin embargo, con LANG=en_US.utf8, el archivo no aparece, y tengo que configurarlo LANG=C(o en_US, o '') para que funcione.
Pregunta: ¿Cuál es la implementación detrás y cómo podría haber predicho ese resultado?
Información: Arch Linux 3.14.37-1-lts, find (GNU findutils) 4.4.2
[[ $file =~ '^.*$' ]]no usar recodeel nombre del archivo, pero ahora lo investigaré convmvsi es necesario. Gracias.
convmvconvertir nombres de archivo a utf-8?