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 defile1após linha 5 -
5d- deletar linha 5 -
w- escreve ofile2alterado de volta no disco. Sem isso, as alterações serão descartadas quandoedsair (ou seja, sair sem salvar).