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