Cómo reemplazar un personaje con otro - Bash

Cómo reemplazar un personaje con otro - Bash
En Bash Scripting, es común reemplazar un carácter con otro carácter en una cadena, ya que esto puede ser útil para el procesamiento de datos, la manipulación de texto y muchos otros casos de uso. Afortunadamente, Bash proporciona varios métodos incorporados para hacer esto y en este artículo, cubriremos algunas de las formas más comunes de reemplazar los personajes en un script bash.

Cómo reemplazar un personaje con otro en el guión de Bash

Reemplazar un personaje con otro es una tarea común en las secuencias de comandos y puede ser útil en muchos escenarios diferentes. Estas son las tres formas fáciles de reemplazar un personaje con otro en un script bash:

  • A través del comando TR
  • A través del comando SED
  • A través de la expansión de los parámetros

Cómo reemplazar un personaje con otro usando el comando TR en Bash

El comando TR es una herramienta simple para traducir, eliminar o exprimir caracteres en una cadena. Se puede usar para reemplazar un personaje con otro especificando los caracteres para ser reemplazados y sus reemplazos, aquí está la sintaxis para usar este comando:

tr '' ''

Aquí para ilustración si he tomado una cadena que es "Hola Linux" y si quiero reemplazar la letra L -Mertura L por letra mayúscula W, se puede hacer con el comando TR como este:

Echo "Hola Linux" | tr 'l' 'w'

Aquí está el código de bash completo que muestra cómo usar el comando TR para reemplazar un carácter con otro:

#!/bin/bash
Main_string = "Hola Linux"
Exportar new_string = $ (echo "$ main_string" | tr 'l' 'w')
echo "main_string:" $ main_string
echo "modificado_string:" $ new_string

Aquí está la salida del script bash, l se reemplaza con w:

Cómo reemplazar un personaje con otro usando el comando SED en Bash

Otra forma de reemplazar a un personaje con otro personaje en Bash es usar el comando SED. El comando SED es un editor de transmisión que puede realizar varias operaciones en una cadena, incluida la sustitución. Aquí está la sintaxis para usar este comando para reemplazar un personaje con otro:

sed 's /// g'

Aquí para ilustración si he tomado una cadena que es "Hola Linux" y quiero reemplazar la letra minúscula "L" con "W", entonces se puede hacer con el comando TR como este:

Echo "Hola Linux" | sed 's/l/w/g'

Aquí está el código de bash completo que muestra cómo usar el comando SED para reemplazar un carácter con otro:

#!/bin/bash
Main_string = "Hola Linux"
New_string = $ (echo "$ main_string" | sed 's/l/w/g')
echo "main_string:" $ main_string
echo "modificado_string:" $ new_string

En este ejemplo, estamos utilizando el comando echo para emitir la cadena "hola linux", y luego tuve la salida al comando SED. El comando SED está utilizando el comando de sustitución (s) para reemplazar todas las ocurrencias de la letra "l" con la letra "w". La opción G al final del comando le dice a SED que reemplace todas las ocurrencias del personaje en la cadena, no solo el primer ocurrencia. La salida de este comando será "Hola Winux":

Cómo reemplazar un personaje con otro usando la expansión de parámetros en Bash

Otra forma de reemplazar a un personaje con otro en Bash, puede ser utilizando una expansión de parámetros y aquí hay un ejemplo que reemplaza "L" de la cadena original "W" nuevo personaje:

#!/bin/bash
Main_string = "Hola Linux"
New_string = "$ main_string // l/w"
echo "main_string:" $ main_string
echo "modificado_string:" $ new_string

En este ejemplo, estamos utilizando la expansión de los parámetros para reemplazar todas las ocurrencias de la letra minúscula "H" con la letra "S" en la variable Main_String. La salida de este comando será "Hola Winux":

Conclusión

Hay varias formas de reemplazar a un personaje con otro personaje en Bash, incluido el uso del comando TR, el comando SED y la expansión del parámetro. Cada método tiene sus propias ventajas y desventajas, así que elija el que funcione mejor para su caso de uso específico, ya que esta guía ofrece los tres métodos para hacerlo.