printf
e ed
combinados são uma excelente ferramenta para edição de arquivos com script.
printf '%s\n' '5r file1' 5d w | ed file2
Isso usa ed
para editar file2
. O comando printf
canaliza cada um dos seus argumentos para ed
, um por vez, com um avanço de linha ou nova linha ( \n
) entre cada comando.
Os comandos ed
são:
-
5r file1
- insira o conteúdo defile1
após linha 5 -
5d
- deletar linha 5 -
w
- escreve ofile2
alterado de volta no disco. Sem isso, as alterações serão descartadas quandoed
sair (ou seja, sair sem salvar).