【发布时间】:2013-08-05 21:00:37
【问题描述】:
我需要在另一个文本文件的某些占位符之间添加文本文件的内容。 (具体来说,我正在尝试绕过 nginx include limitation inside upstream blocks。)
我的主要nginx配置文件/etc/nginx/nginx.conf是这样的:
## START UPSTREAM
## END UPSTREAM
http {
...
}
我的服务器上游文件/etc/nginx/upstream.conf 如下所示:
upstream wordpress {
server 10.0.0.1;
server 10.0.0.2;
...
}
我想将/etc/nginx/upstream.conf 的内容复制到## START UPSTREAM 和## END UPSTREAM 块之间。期望的结果:
## START UPSTREAM
upstream wordpress {
server 10.0.0.1;
server 10.0.0.2;
...
}
## END UPSTREAM
http {
...
}
到目前为止,我已经尝试使用sed(在otherStackOverflowsolutions的帮助下):
sed -i '/## START UPSTREAM/,/## END UPSTREAM/ r /etc/nginx/upstream.conf' /etc/nginx/nginx.conf
但是,上面的代码不起作用——它只是默默地失败了。如何修改 sed 以正确替换占位符之间的所有文本?
提前致谢!
【问题讨论】: