Reemplazo de cadenas en Bash

Nilesh Katuwal 30 enero 2023
  1. Reemplazar una subcadena por otra cadena en Bash
  2. Reemplace toda la cadena igual a la subcadena
  3. Reemplace la última subcadena detectada en una cadena en Bash
Reemplazo de cadenas en Bash

Bash nos permite realizar llamadas a otros programas, y especificando las entradas y salidas necesarias, podemos generar cualquier resultado. Este artículo presentará cómo reemplazar una subcadena con otra cadena.

Reemplazar una subcadena por otra cadena en Bash

El siguiente comando reemplazará la primera cadena descubierta que coincida con una subcadena a partir del primer carácter de la cadena con una cadena de reemplazo.

${string/substring/replacement}

Veamos un ejemplo.

$ text="I am learning linux and linux"

$ reptext="bash"

$ echo "${text/linux/"$reptext"}''

Producción :

I am learning bash and linux

Como se mencionó anteriormente, la primera cadena linux se reemplaza por bash, y la otra permanece intacta.

Reemplace toda la cadena igual a la subcadena

Usamos el siguiente comando para reemplazar la cadena completa igual a la subcadena con la cadena de reemplazo.

${string//substring/replacement}

Veamos un ejemplo:

$ text="I am learning linux and linux"

$ reptext="bash"

$ echo "${text//linux/"$reptext"}"

Producción :

I am learning bash and bash

Ahora hay dos barras (//) en lugar de una (/). En el resultado, podemos ver que el comando anterior reemplazó todas las subcadenas iguales a la cadena de reemplazo.

Reemplace la última subcadena detectada en una cadena en Bash

Usaremos el siguiente comando para reemplazar la última subcadena detectada en una cadena con una cadena de reemplazo.

${string/%substring/replacement}

Veamos un ejemplo:

$ text="I am learning linux and linux"

$ reptext="bash"

$ echo "${text/%linux/"$reptext"}"

Producción :

I am learning linux and bash