
Estou usando este sed
comando em um arquivo específico, mas não funciona.
por exemplo
a="adsfkndsa%/{}==admfkdsa"
b=sadkfjdsaklfj
sed -i -e 's/$a/$b/g' /tmp/sample.txt
Por favor, sugira outra maneira.
Responder1
Acabei de tentar isso e funciona no meu sistema (Debian 8):
sed -i.bak "s|$a|$b|g" /tmp/sample.txt
Você precisa alterar o delimitador, pois a variável $a
contém um arquivo /
.
Antes:
cat /tmp/sample.txt.bak
foo
adsfkndsa%/{}==admfkdsa
bar
Depois:
cat /tmp/sample.txt
foo
sadkfjdsaklfj
bar
Editar, informações da versão sed:
sed --version
sed (GNU sed) 4.2.2