Re: Locales y mayúsculas y minúsculas
El dom, 30 de oct de 2016, a las 06:55:04 +0100, fernando sainz dijo: > Creo que tr no soporta utf8. > puedes usar gawk que si lo hace. > (En mi instalación awk es un link a gawk y si me funciona bien. Hay > que instalar gawk) Pues debe de ser eso: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20114 Ni tr ni mawk (que era lo que yo estaba usando) funcionan. gawk como bien indicas, sí. Gracias. -- Los grandes hombres solemos ser modestos. --- Juan de Mairena --
Re: Locales y mayúsculas y minúsculas
El 30/10/16 a las 18:40, José Miguel (sio2) escribió: Un saludo a la lista. A ver si alguno es capaz de explicarse cómo sucede esto en mi sistema. Resulta que tengo estas locales: $ locale LANG=es_ES.UTF-8 LANGUAGE= LC_CTYPE="es_ES.UTF-8" LC_NUMERIC="es_ES.UTF-8" LC_TIME="es_ES.UTF-8" LC_COLLATE="es_ES.UTF-8" LC_MONETARY="es_ES.UTF-8" LC_MESSAGES="es_ES.UTF-8" LC_PAPER="es_ES.UTF-8" LC_NAME="es_ES.UTF-8" LC_ADDRESS="es_ES.UTF-8" LC_TELEPHONE="es_ES.UTF-8" LC_MEASUREMENT="es_ES.UTF-8" LC_IDENTIFICATION="es_ES.UTF-8" LC_ALL= Vamos, que mi sistema está configurado en castellano y utf-8. Todo me marcha bien, pero he intentado lo siguiente y no he obtenido el resultado esperado: $ tr '[:lower:]' '[:upper:]' <<<"adiós" ADIóS $ awk '{print toupper($0)}' <<<"adiós" ADIóS O sea, el sistema no es capaz de saber que la mayúscula de la ó es la Ó. Yo tengo Debian testing (Stretch) con la misma configuración locale, y si es cierto que con tr me da el mismo resultado, con awk lo hace bien: $ locale LANG=es_ES.utf8 LANGUAGE= LC_CTYPE="es_ES.utf8" LC_NUMERIC="es_ES.utf8" LC_TIME="es_ES.utf8" LC_COLLATE="es_ES.utf8" LC_MONETARY="es_ES.utf8" LC_MESSAGES="es_ES.utf8" LC_PAPER="es_ES.utf8" LC_NAME="es_ES.utf8" LC_ADDRESS="es_ES.utf8" LC_TELEPHONE="es_ES.utf8" LC_MEASUREMENT="es_ES.utf8" LC_IDENTIFICATION="es_ES.utf8" LC_ALL= $ tr '[:lower:]' '[:upper:]' <<<"adiós" ADIóS $ awk '{print toupper($0)}' <<<"adiós" ADIÓS No se aprecia, pero sale la Ó en mayúscula y con el acento y todo... De hecho, no es capaz de saber que "ó" es una letra: $ tr -d '[:alpha:]' <<<"adiós" ó Si, a mi me pasa igual... Sin embargo, tengo mi sistema (LC_CTYPE en concreto) en utf8, ¿no debería ser capaz? python sí funciona bien: $ python3 -c 'print("adiós".upper())' ADIÓS -- www.LinuxCounter.net Registered user #369215
Re: Locales y mayúsculas y minúsculas
El día 30 de octubre de 2016, 18:40, José Miguel (sio2)escribió: > Un saludo a la lista. A ver si alguno es capaz de explicarse cómo sucede > esto en mi sistema. > > Resulta que tengo estas locales: > > $ locale > LANG=es_ES.UTF-8 > LANGUAGE= > LC_CTYPE="es_ES.UTF-8" > LC_NUMERIC="es_ES.UTF-8" > LC_TIME="es_ES.UTF-8" > LC_COLLATE="es_ES.UTF-8" > LC_MONETARY="es_ES.UTF-8" > LC_MESSAGES="es_ES.UTF-8" > LC_PAPER="es_ES.UTF-8" > LC_NAME="es_ES.UTF-8" > LC_ADDRESS="es_ES.UTF-8" > LC_TELEPHONE="es_ES.UTF-8" > LC_MEASUREMENT="es_ES.UTF-8" > LC_IDENTIFICATION="es_ES.UTF-8" > LC_ALL= > > Vamos, que mi sistema está configurado en castellano y utf-8. Todo me > marcha bien, pero he intentado lo siguiente y no he obtenido el > resultado esperado: > > $ tr '[:lower:]' '[:upper:]' <<<"adiós" > ADIóS > $ awk '{print toupper($0)}' <<<"adiós" > ADIóS > > O sea, el sistema no es capaz de saber que la mayúscula de la ó es la Ó. > De hecho, no es capaz de saber que "ó" es una letra: > > $ tr -d '[:alpha:]' <<<"adiós" > ó > > Sin embargo, tengo mi sistema (LC_CTYPE en concreto) en utf8, ¿no > debería ser capaz? > > python sí funciona bien: > > $ python3 -c 'print("adiós".upper())' > ADIÓS > > -- >e non l'arbitrio de femina lieve, > che sempre inchina a quel che men far deve. > --- Ludovico Ariosto --- > Creo que tr no soporta utf8. puedes usar gawk que si lo hace. (En mi instalación awk es un link a gawk y si me funciona bien. Hay que instalar gawk) S2.
Locales y mayúsculas y minúsculas
Un saludo a la lista. A ver si alguno es capaz de explicarse cómo sucede esto en mi sistema. Resulta que tengo estas locales: $ locale LANG=es_ES.UTF-8 LANGUAGE= LC_CTYPE="es_ES.UTF-8" LC_NUMERIC="es_ES.UTF-8" LC_TIME="es_ES.UTF-8" LC_COLLATE="es_ES.UTF-8" LC_MONETARY="es_ES.UTF-8" LC_MESSAGES="es_ES.UTF-8" LC_PAPER="es_ES.UTF-8" LC_NAME="es_ES.UTF-8" LC_ADDRESS="es_ES.UTF-8" LC_TELEPHONE="es_ES.UTF-8" LC_MEASUREMENT="es_ES.UTF-8" LC_IDENTIFICATION="es_ES.UTF-8" LC_ALL= Vamos, que mi sistema está configurado en castellano y utf-8. Todo me marcha bien, pero he intentado lo siguiente y no he obtenido el resultado esperado: $ tr '[:lower:]' '[:upper:]' <<<"adiós" ADIóS $ awk '{print toupper($0)}' <<<"adiós" ADIóS O sea, el sistema no es capaz de saber que la mayúscula de la ó es la Ó. De hecho, no es capaz de saber que "ó" es una letra: $ tr -d '[:alpha:]' <<<"adiós" ó Sin embargo, tengo mi sistema (LC_CTYPE en concreto) en utf8, ¿no debería ser capaz? python sí funciona bien: $ python3 -c 'print("adiós".upper())' ADIÓS -- e non l'arbitrio de femina lieve, che sempre inchina a quel che men far deve. --- Ludovico Ariosto ---