Todo:
tr '[:lower:]' '[:upper:]'
(no se olvide de las comillas, de otro modo que no va a funcionar si hay un archivo llamado :, l... o ren el directorio actual) o:
awk '{print toupper($0)}'
o:
dd conv=ucase
están destinados a convertir caracteres a mayúsculas de acuerdo con las reglas definidas en la configuración regional actual. Sin embargo, incluso cuando las configuraciones regionales usan UTF-8 como el conjunto de caracteres y definen claramente la conversión de minúsculas a mayúsculas, al menos GNU dd, GNU try mawk(el valor predeterminado awken Ubuntu, por ejemplo) no las siguen. Además, no hay una forma estándar de especificar configuraciones regionales que no sean Co POSIX, por lo que si desea convertir los archivos UTF-8 a mayúsculas de manera portátil, independientemente de la configuración regional actual, no tiene suerte con el cofre de herramientas estándar.
Como a menudo, para la portabilidad, su mejor apuesta puede ser perl:
$ echo lľsšcčtťzž | PERLIO=:utf8 perl -pe '$_=uc'
LĽSŠCČTŤZŽ
Ahora, debes tener en cuenta que no todos están de acuerdo sobre cuál es la versión en mayúsculas de un personaje específico.
Por ejemplo, en locales turcos, las mayúsculas ino son I, sino İ( <U0130>). Aquí con la herramienta trde comprobación de herencia en lugar de GNU tr:
$ echo ií | LC_ALL=C.UTF-8 tr '[:lower:]' '[:upper:]'
IÍ
$ echo ií | LC_ALL=tr_TR.UTF-8 tr '[:lower:]' '[:upper:]'
İÍ
En mi sistema, la perlconversión a superior se define en /usr/share/perl/5.14/unicore/To/Upper.pl, y encuentro que se comporta de manera diferente en algunos caracteres de la libc de GNU toupper()en la C.UTF8configuración regional, por ejemplo, perlsiendo más precisa. Por ejemplo perl, convierte correctamente ɀ a Ɀ , la libc de GNU (2.17) no.
Creo que puedes hacer esto
awky sutoupperfunción.Por ejemplo
No funciona con GNU
tr:Funciona con GNU
awk:fuente
troawkaplicación. Por ejemplo, la mayoríatrconvertirá correctamente los caracteres cuando se encuentre en un entorno local UTF8, de acuerdo con el entorno local actual, GNUtrno.mawkno lo hacetr, pero no conawkEsto funciona con OS X
trpero no con GNUtr:Esto funciona con
gawkpero no conmawkonawk(que está/usr/bin/awken OS X):Otra opción es usar GNU
sed:En Bash 4.0 y versiones posteriores también puede usar la
^^expansión de parámetros:fuente