Cómo convertir mayúsculas a minúsculas y viceversa en la línea de comandos

La conversión de texto entre mayúsculas y minúsculas puede ser muy tediosa, especialmente cuando deseas evitar errores ortográficos involuntarios. Afortunadamente, Linux proporciona un conjunto de comandos que pueden facilitar el trabajo.

Hay muchas formas de cambiar el texto en la línea de comandos de Linux de minúsculas a mayúsculas y viceversa. De hecho, tiene un impresionante conjunto de comandos para elegir. Este artículo repasa algunos de los mejores comandos para esta tarea y cómo puedes lograr exactamente lo que deseas.

Usando tr

El comando tr (traducir) es uno de los más fáciles de usar en la línea de comandos o dentro de un script. Si tienes una cadena que deseas asegurarte de que está en mayúscula, simplemente pásala a través de un comando tr como este:

A continuación, se muestra un ejemplo del uso de este tipo de comando en un script. Esto si deseas asegurarte de que todo el texto que se agrega a un archivo está en mayúscula para mantener la coherencia:

Cambiar el orden a [: upper:] [: lower:] tendría el efecto contrario, poniendo todos los nombres de dept en minúsculas:

Del mismo modo, puedes usar las cadenas AZ y az del comando sed para lograr lo mismo:

Como indudablemente sospechas, invertir el orden de las cadenas az y AZ tendrá el efecto contrario, convirtiendo el texto en minúsculas.

Usando awk

El comando awk te permite hacer lo mismo con sus opciones de toupper y tolower. El comando en el script que se muestra en el ejemplo anterior se podría hacer de esta manera:

El inverso (cambiar a minúsculas) se vería así:

Usando sed

El comando sed (stream editor) también hace un gran trabajo al cambiar entre mayúsculas y minúsculas. Este comando tendría el mismo efecto que el primero de los dos que se muestran arriba.

El cambio de mayúsculas a minúsculas simplemente implicaría la sustitución de la U cerca del final de la línea con una L.

Manipulando texto en un archivo

Tanto awk como sed te permiten cambiar letras del texto de mayúsculas a minúsculas y viceversa para archivos completos. Entonces, ¿acabas de descubrir que tu jefe quería esos nombres de departamento en minúsculas? No hay problema. Simplemente ejecuta un comando como este con el nombre de archivo proporcionado:

Si deseas sobrescribir el archivo depts, en lugar de solo mostrar su contenido en minúsculas, deberás hacer algo como esto:

Sin embargo, al hacer el cambio con sed, puedes evitar ese último paso. Esto porque sed puede editar un archivo “en el lugar” como se muestra aquí, dejando el archivo intacto, pero el texto en minúsculas:

Capitalizar solo las primeras letras

Para capitalizar solo las primeras letras de una cadena, puedes hacer algo como esto:

Ese comando asegurará que las primeras letras estén en mayúscula, pero no cambiará el resto de las letras.

Asegurarte de que solo las primeras letras sean mayúsculas

Es un poco más desafiante cuando quieres cambiar el texto para que solo las primeras letras estén en mayúsculas. Supongamos que estás manipulando una lista de los nombres de los miembros del personal y deseas que se formateen de la manera normal de nombre y apellido.

Con sed

Podrías usar un comando sed considerablemente más complejo para garantizar este resultado:

Con Python

Si tienes iniciado Python, puedes ejecutar un comando como este que también formatea el texto. Con este comando solo las primeras letras de cada palabra estarán en mayúscula. Y, el comando será un poco más fácil de analizar que el comando sed que se muestra arriba:

Conclusión

Hay muchas formas de cambiar el formato del texto entre mayúsculas y minúsculas. Lo que funciona mejor depende en parte de si estás manipulando una sola cadena o un archivo completo. Todo dependerá de cómo deseas que se vea el resultado final.