Como faço para substituir Old_String por New_String em um arquivo?
Old_String:
$resultado = $client->updateInventory("UpdateInventory.xml");New_String:
$resultado = $client->updateInventory("/Desktop/new/UpdateInventory.xml");
Old_String no número da linha = 5 em um arquivo chamado file1.txt
O que eu tentei:
sed '5s/.*/'$result = $client->updateInventory("/Desktop/new/UpdateInventory.xml");'/' file1.txt
Você pode usar o comando abaixo para obter o mesmo
Remova as aspas simples internas. Eles terminam os externos, então
$result
serão expandidos esed
provavelmente reclamarão de ums
comando inacabado.Em vez disso, use um delimitador diferente para o
s
comando, você pode usar quase qualquer coisa em vez da barra. Entãoé o que você quer.
Outra maneira é usar
c
o comando que limpa a(s) linha(s) especificada(s) pelo endereçoAmbos os comandos
s
ec
terão problemas se a string de substituição tiver certos caracteres especiais, por exemplo:Uma maneira robusta de lidar com isso é usar o
r
comandoUsando o comando awk também podemos alcançar o resultado