Você poderia ficar com o ed: assumindo que você queria diff file1 e file2, e então aplicar as alterações no file1 e gravar em um arquivo chamado file1.b:
{ diff -e file1 file2; echo "w file1.b"; echo q; } | ed file1
Agora, não deve haver diferença entre o arquivo2 e o arquivo1.b:
$ diff file2 file1.b && echo "no diff"
no diff