Lo intenté con:
$ echo 'Ciência' | tr 'a-z' 'A-Z'
CIêNCIA
Pero el carácter 'ê' no cambia, obviamente porque se acentúa. Luego probé con clases POSIX:
echo "Ciência" | tr '[:lower:]' '[:upper:]'
CIêNCIA
Pero la 'ê' continúa en minúscula.
¿Alguien podría ayudarme?
Respuesta1
Puedes hacer esto con gawk:
echo "Ciência" | gawk '{print toupper($0);}'
(también Perl, alguien seguramente lo señalará). El ejemplo utiliza UTF-8, que no forma parte explícitamente dePOSIX awk. La documentación de gawk menciona estos problemas. Por ejemplo, tanto mawk como bwk (one-true-awk) dan resultados diferentes:
+ echo Ciência
+ gawk {print toupper($0);}
CIÊNCIA
+ echo Ciência
+ mawk {print toupper($0);}
CIêNCIA
+ echo Ciência
+ one-true-awk {print toupper($0);}
CIêNCIA