Convertir mayúsculas y minúsculas de cadenas en Bash

Nilesh Katuwal 30 enero 2023
  1. Usando tr en Bash para convertir mayúsculas y minúsculas de cadenas
  2. Uso de la función Bash 4 incorporada para convertir mayúsculas y minúsculas de cadenas
  3. Usando awk en Bash para convertir mayúsculas y minúsculas de cadenas
  4. Uso de sed en Bash para convertir mayúsculas y minúsculas de cadenas
Convertir mayúsculas y minúsculas de cadenas en Bash

En los comandos bash, los datos de cadena se utilizan para una variedad de funciones.

A veces necesitamos modificar el caso de la cadena para obtener el resultado deseado. Las cadenas de mayúsculas y minúsculas se pueden transformar.

Usando tr en Bash para convertir mayúsculas y minúsculas de cadenas

En versiones anteriores de bash, los datos de cadena se traducen usando el comando tr. El término :upper se utiliza para letras mayúsculas, mientras que la palabra clave :lower se utiliza para caracteres en minúsculas.

Veamos un ejemplo.

echo "Changing All to LOWERCASE" | tr [:upper:] [:lower:]

Producción :

changing all to lowercase

Si cambiamos la posición de :upper: y :lower: como:

echo "Changing All to UPPERCASE" | tr [:lower:] [:upper:]

La salida sería:

CHANGING ALL TO UPPERCASE

Tenemos que poner :lower: más tarde para convertir las cadenas en minúsculas y viceversa.

Uso de la función Bash 4 incorporada para convertir mayúsculas y minúsculas de cadenas

Usando las nuevas funciones de Bash 4, puede convertir casos de cadena más fácilmente.

El símbolo ^ convierte el primer carácter de cualquier cadena a mayúsculas, y el símbolo ^^ convierte toda la cadena a mayúsculas. El signo , se usa para poner en minúsculas el carácter inicial, mientras que el símbolo ,, se usa para poner en minúsculas toda la cadena.

Por ejemplo, declaremos una variable utilizada en los ejemplos de esta sección.

$ var="Example String."

Y nos gustaría hacer todas las letras en la variable var en mayúsculas.

$ echo "${var^^}"

Producción :

EXAMPLE STRING.

O tal vez queremos convertir la primera letra en minúsculas.

$ echo "${var,}"

Producción :

example String.

Ahora, cambiemos las mayúsculas y minúsculas del carácter seleccionándolo y primero cambiando el carácter i de la cadena a mayúsculas.

$ echo "${var^^i}"

Producción :

Example StrIng.

Hagamos lo mismo con dos caracteres, r e i, y conviértalos a mayúsculas.

$ echo "${var^^[r,i]}"

Producción :

Example StRIng.

Use ,, en lugar de ^^ para cambiar a minúsculas.

Usando awk en Bash para convertir mayúsculas y minúsculas de cadenas

De nuevo,

$ var="Example String."

Para convertir todas las cadenas a minúsculas, usamos el método tolower() de awk. También tiene una función toupper() para convertir todas las cadenas en mayúsculas.

$x se refiere a los campos del registro actual. $0 es un caso especial que se refiere a todo el registro.

$ echo "$var" | awk '{print tolower($0)}'

Producción :

example string.

Para convertir toda la cadena en mayúsculas:

$ echo "$var" | awk '{print toupper($0)}'

Producción :

EXAMPLE STRING.

Uso de sed en Bash para convertir mayúsculas y minúsculas de cadenas

El script sed se compone de comandos de sustitución. Los comandos sustitutos son s/old/new/, que busca en el texto algo que coincida con la expresión regular old y lo reemplaza por new.

De nuevo,

$ var="Example String."

s/.*/\L&/ coincide con cualquier carácter en la entrada y lo reemplaza con una versión en minúsculas del mismo carácter.

$ echo "$var" | sed 's/.*/\L&/'

Producción :

example string.

Artículo relacionado - Bash String