On Sat, 26 Jun 2004, Daniel Peña wrote: > Antes de nada indicar que utilizo Debian Woody (stable). > Al hacer un "ls" con una simple expresión regular "ls [A-Z][A-Z]*" > (trato de listar los ficheros cuyos nombres comiencen con 2 letras > mayúsculas), inexplicablemete me lista todo el directorio y todos los > que cuelgan de él sin tener en cuenta la expresión regular, como si > hubiese hecho un "ls *". > > Tras horas de pruebas, se me enciende la bombilla: ¿No será algo > relaccionado con los locales? Tengo instalado el paquete "user-es" para > "castellanizar" Debian, y las variables de entorno LANG, LANGUAGE, > LC_ALL, LC_MESSAGES con el valor de "es_ES" (con los locales es_ES y > [EMAIL PROTECTED] generados). Con esto obtengo los mensajes del sistema y las > páginas "man" en castellano. > > Tras hacer (en bash) "export LC_ALL=C" el "ls [A-Z][A-Z]*" funciona como > supongo que debe hacerlo, pero pierdo los mensajes del sistema y las > páginas "man" en castellano. Ahora están en inglés. > Tras hacer pruebas haciendo combinaciones entre todas las variables LC_* > (LC_CTYPE, LC_COLLATE, etc...) y los valores "C" y "es_ES" e incluso > "none", veo ejecutando el programa "locale" que da igual el valor que > tengan las variables LC_* mediante "export", pues el valor que se asigne > a LC_ALL, es el valor que toman el resto de LC_*. > > Ahora la pregunta: > ¿Cómo podría obtener mensajes y páginas "man" en castellano y que el > "ls" funcione correctamente con esa expresión regular?
Prueba esto: * No le des ningún valor a la variable LC_ALL. En ninguna parte. * export LANG=es_ES * export LC_COLLATE=C Así todas las variables valdrán "es_ES" menos LC_COLLATE que valdrá "C" y que por lo que parece, es la variable que determina cuál será la "traducción" de [A-Z].