
En la programación bash, dada una variable, digamos varA
, que almacena una cadena que contiene #
un símbolo. Supongamos que varA
contiene este valor: ASD# 1
, necesito agregar una barra invertida \
delante de #
, para que la salida pueda tener esto: ASD\# 1
. El siguiente código está ahí para lograr mi objetivo, solo que el reemplazo de cadena no parece funcionar y no puedo asignar la salida del comando sed a otra variable. ¿Alguna vista sobre esto?
varA="ASD# 1"
echo $(sed s/\#/\\#/g <<< ${varA})
Respuesta1
Te falta una cita en tu sed
expresión.
Intentar:
$ varA="ASD# 1"
$ echo "$(sed 's/#/\\#/g' <<< "${varA}")"
ASD\# 1
Respuesta2
Hay gastos generales para usar sed
solo para una variable. En bash
puedes usar ${varA/\#/\\\#}
.