sed - 我如何使这个"一个班轮"?

Fil*_*str 0 bash shell sed bin

我想要这个脚本:

#!/bin/sh

cat source.txt | sed "/replace_text_holder/ {
r file.txt
d
}" | cat
Run Code Online (Sandbox Code Playgroud)

就这样写这样:

cat source.txt | sed "/replace_text_holder/ { r file.txt d }" | cat
Run Code Online (Sandbox Code Playgroud)

但这不起作用.任何人都知道为什么,和/或我如何解决它?

我目前受到这个错误的骚扰:

unbalanced "{"
Run Code Online (Sandbox Code Playgroud)

我尝试插入"\n"以使其相信有一个新行,但这不起作用.

很明显我不知道我在做什么......

kev*_*kev 5

试试这个:

sed -e '/replace_text_holder/{r file.txt' -e 'd}'
Run Code Online (Sandbox Code Playgroud)