¿Cómo insertar una barra invertida delante del símbolo #?

¿Cómo insertar una barra invertida delante del símbolo #?

En la programación bash, dada una variable, digamos varA, que almacena una cadena que contiene #un símbolo. Supongamos que varAcontiene 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 sedexpresión.

Intentar:

$ varA="ASD# 1"
$ echo "$(sed 's/#/\\#/g' <<< "${varA}")"
ASD\# 1

Respuesta2

Hay gastos generales para usar sedsolo para una variable. En bashpuedes usar ${varA/\#/\\\#}.

información relacionada