Supondo que um arquivo file.txt você deseja substituir, onde old
a new
, você pode fazer
$ sed 's/old/new/g' file.txt
dessa forma, conhecida como visualização, apenas imprime o resultado da substituição, mas não sobrescreve o arquivo. Para substituir, use o parâmetro -i
$ sed -i 's/old/new/g' file.txt
ou, se você quiser fazer um backup do arquivo antes de substituí-lo, você pode usar o parâmetro -i.bkp
$ sed -i.bkp 's/old/new/g' file.txt
desta forma, ele cria um arquivo file.txt.bkp com a versão antiga do arquivo.
Em alguns casos mais complicados, você pode usar a expressão regular para substituir os dados.
Conseguiu isso no MAC OS?
command c expects followed by text
Usa isto
$ sed -i '' 's/old/new/g' file.txt
Isso acontece porque o sed no MAC OS é um sabor diferente do BSD.