r /file/path
não deve ter nada depois em sua linha.
Você pode achar este site útil como Resumo de Comandos para sed
echo 'one
two
five
six
seven
three
four' >inputfile
echo 'contents of readfile' >readfile
sed '/two/{r readfile
d}' inputfile
Nota: Você pode utilizar o shell para parametrizar sed, usando "aspas duplas". Eles ativam a expansão de variáveis do shell. r
ocupa todos os espaços literalmente ... portanto, não cite o nome do arquivo e não tenha nenhum espaço em branco (o espaço em branco entre r
e /file/path
está ok).
rfile='/tmp/readfile with multiple spaces in name'
sed "/two/{r $rfile
d}" inputfile
saída
one
contents of readfile
five
six
seven
three
four
Em uma nota lateral: Não há realmente nenhum valor usando <
para o seu arquivo de entrada. Use o parâmetro de arquivo de entrada do sed (mantém as coisas mais simples).