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

时间:2012-09-17 22:25:13

标签: bash replace sed awk

我正在寻找一个脚本/命令,它将获取inputFile1,在其中查找特定的开始和结束字符串,并替换它们之间的所有文本 具有inputFile2的全部内容。

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

例如,我的文件 inputYes.txt 包含内容:

DummyOne
Start
That
What
Yes
End
DummyTwo

inputNo.txt ,内容为:

This
Why
Not

我希望脚本在 inputYes.txt 中搜索字符串 Start End ,并将其间的所有文本替换为 inputNo.txt 的内容,并写入文件。

因此在运行之后, inputYes.txt 应该读取

DummyOne
Start
This
Why
Not
End
DummyTwo

1 个答案:

答案 0 :(得分:1)

sed '/end_string/rinputFile2
/start_string/,/end_string/d' inputFile1