Use sed para substituir uma parte de uma linha por uma variável

4

Então, agora eu tenho uma variável

var1='batman'

Eu também tenho um arquivo wrong.txt que se lê da seguinte forma

John="Superman lives in Gotham City."
John="Superman's parents were killed in Crime Alley."
James="Superman does not have a bat-mobile."

Agora quero alterar o conteúdo do arquivo usando sed. Obviamente, eu preciso substituir o Superman pelo batman. Eu tentei fazer isso com sed, mas não foram feitas alterações no arquivo.

Aqui está o que eu fiz

sed -i -e "s/John=\"Superman/John=\"$var1/g" wrong.txt
    
por gkmohit 05.08.2016 / 20:26

1 resposta

3
sed 's/^\(John="\)Superman/'"$var1/g" <in file

... deve funcionar.

    
por 05.08.2016 / 20:49