Você não precisa de sed para isso. É o suficiente para usar cat :
cat file.bak >>file.php
Isso adicionará o conteúdo de file.bak ao final de file.php .
O sed program r file.php produzirá o conteúdo de file.php para a saída padrão para cada linha de entrada . Se file.bak tiver várias linhas, você obterá várias cópias de file.php inseridas.
Isso não é o que você deseja se quiser usar sed para anexar os dados.
Em vez disso, ignorando o fato de que cat faz um trabalho melhor aqui ,
sed '$r file.bak' file.php
Isso não lerá file.bak até alcançar a última linha de file.php . Isso tem o efeito de concatenar o conteúdo dos dois arquivos (o conteúdo de file.php virá primeiro, seguido pelo conteúdo de file.bak ).
Para gravar o resultado de volta para file.php , você pode redirecionar a saída para um novo arquivo e, em seguida, movê-lo (o modo seguro):
sed '$r file.bak' file.php >tmpfile && mv tmpfile file.php
ou, você pode usar a opção -i que algumas implementações de sed têm (a maneira insegura):
sed -i '$r file.bak' file.php