O comando a seguir deve funcionar para o que você deseja:
sed "s/this is test/$(cat bar)/" foo
Se foo
contiver mais de uma linha, você poderá usar:
sed "s/this is test/$(sed -e 's/[\&/]/\&/g' -e 's/$/\n/' bar | tr -d '\n')/" foo
ou:
sed -e '/this is a test/{r bar' -e 'd}' foo
Fonte dos dois últimos comandos: Substituir padrão dentro de um arquivo pelo conteúdo de outro arquivo
Para fazer a alteração no arquivo foo
, use sed -i
.