Reemplazo de cadenas en Bash
- Reemplazar una subcadena por otra cadena en Bash
- Reemplace toda la cadena igual a la subcadena
- Reemplace la última subcadena detectada en una cadena 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