O sed grava no arquivo ou fornece um exemplo de saída

O sed grava no arquivo ou fornece um exemplo de saída

ao usar sedcom um arquivo como este

sed 's/a/o' fruits

fornece a saída necessária ao terminal, mas não altera o conteúdo do arquivo. Como altero permanentemente o arquivo com a substituição acima?

Responder1

Use o -iparâmetro para alterar permanentemente o arquivo.

Responder2

Em geral, você não deveria. GNU coreutils e algumas outras versões adicionam uma -iopção para edição no local, mas tem implementações variadas e não é portátil. Os arquivos não são fluxos, portanto sed, deve-se evitar editá-los . A -iopção sedtambém quebra qualquer link simbólico, pois essencialmente o exclui e recria o arquivo. Use edou expara uma alternativa mais sensata.

ex -s file << EOF
s/a/o/
w
EOF

Responder3

Na página de manual do sed:

-i[SUFFIX], --in-place[=SUFFIX]

          edit files in place (makes backup if extension supplied)

informação relacionada