como inserir uma barra invertida na frente do símbolo #?

como inserir uma barra invertida na frente do símbolo #?

Na programação bash, dada uma variável, digamos varA, que armazena uma string contendo #um símbolo. Vamos supor que varAcontenha este valor: ASD# 1, preciso acrescentar uma barra invertida \na frente de #, para que a saída possa ter isto: ASD\# 1. O código a seguir serve para atingir meu objetivo, só que a substituição da string parece não funcionar e não consigo atribuir a saída do comando sed para outra variável. Alguma visão disso?

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

Responder1

Você está faltando uma citação na sua sedexpressão.

Tentar:

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

Responder2

Há sobrecarga para usar sedapenas para uma variável. Em bashvocê pode usar ${varA/\#/\\\#}.

informação relacionada