Convertir mayúsculas y minúsculas de cadenas en Bash
-
Usando
tr
en Bash para convertir mayúsculas y minúsculas de cadenas - Uso de la función Bash 4 incorporada para convertir mayúsculas y minúsculas de cadenas
-
Usando
awk
en Bash para convertir mayúsculas y minúsculas de cadenas -
Uso de
sed
en Bash para convertir mayúsculas y minúsculas de cadenas
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.