sed/awk/bash将两个字符串之间的文本替换为外部文件内容

sed/awk/bash将两个字符串之间的文本替换为外部文件内容,bash,replace,sed,awk,Bash,Replace,Sed,Awk,我希望编写一个脚本/命令,它将接受inputFile1,在其中查找特定的开始和结束字符串,并替换它们之间的所有文本 具有inputFile2的完整内容 理想情况下,但不是强制性的,这应该可以在不需要转义特殊字符的情况下工作,因此我可以将字符串放入脚本调用的变量中(这样我就可以轻松地多次重用它) 例如,我有一个文件inputYes.txt,其内容如下: DummyOne Start That What Yes End DummyTwo This Why Not 和inputNo.txt,内容如

我希望编写一个脚本/命令,它将接受inputFile1,在其中查找特定的开始和结束字符串,并替换它们之间的所有文本 具有inputFile2的完整内容

理想情况下,但不是强制性的,这应该可以在不需要转义特殊字符的情况下工作,因此我可以将字符串放入脚本调用的变量中(这样我就可以轻松地多次重用它)

例如,我有一个文件inputYes.txt,其内容如下:

DummyOne
Start
That
What
Yes
End
DummyTwo
This
Why
Not
和inputNo.txt,内容如下:

DummyOne
Start
That
What
Yes
End
DummyTwo
This
Why
Not
我希望脚本在inputYes.txt中搜索字符串Start和End,并用inputNo.txt的内容替换中间的所有文本,然后写入文件

所以在运行它之后,inputYes.txt应该是

DummyOne
Start
This
Why
Not
End
DummyTwo

可能与我已经回答的问题重复。。我不能确切地说这是在做什么,但我可以说它不起作用,它似乎只是在回应inputFile1的内容。我需要它写入文件,而不仅仅是在终端上打印。我将更新问题的更多细节。行与行之间匹配的
start\u string
end\u string
文本应替换为
inputFile2
的内容。将输出重定向到文件很简单,在我的系统上没有任何作用。我正在运行OSX,可能是
sed
有所不同?根据我的后期编辑,我正在运行
sed'/End/rinputNo.txt/Start/,/End/d'inputYes.txt
,它只是简单地打印inputYes.txt的内容。换行符很重要。该命令的文件名后必须有文字换行符。您的命令正在查找名为
inputNo.txt/Start/,/End/d