Re: Locales y mayúsculas y minúsculas

2016-11-01 Por tema sio2
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

2016-10-30 Por tema Eduardo Rios

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

2016-10-30 Por tema fernando sainz
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

2016-10-30 Por tema sio2
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 ---