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

0

Na programação bash, dada uma variável, digamos varA , que armazena uma string contendo o símbolo # . Vamos supor que varA contenha este valor: ASD# 1 , eu preciso acrescentar uma barra invertida \ na frente de # , então a saída pode ter isso: ASD\# 1 . O seguinte código é sobre lá para alcançar meu objetivo, apenas que a substituição de seqüência de caracteres não parece funcionar e eu não sou capaz de atribuir a saída do comando sed em outra variável. Qualquer visão sobre isso?

varA="ASD# 1"
echo $(sed s/\#/\#/g <<< ${varA})
    
por huahsin68 18.11.2014 / 04:31

2 respostas

3

Você perdeu a cotação na sua expressão sed .

Tente:

$ varA="ASD# 1"
$ echo "$(sed 's/#/\#/g' <<< "${varA}")"
ASD\# 1
    
por 18.11.2014 / 04:34
1

Há sobrecarga para usar sed apenas para uma variável. Em bash você pode usar ${varA/\#/\\#} .

    
por 18.11.2014 / 10:41