別のテキスト ファイルの特定のプレースホルダーの間にテキスト ファイルの内容を追加する必要があります。(具体的には、アップストリーム ブロック内の nginx include 制限を回避しようとしています。)
私のメインの 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 {
...
}
これまでのところ、私は(他のStackOverflowソリューションsed
の助けを借りて)使用しようとしました:
sed -i '/## START UPSTREAM/,/## END UPSTREAM/ r /etc/nginx/upstream.conf' /etc/nginx/nginx.conf
ただし、上記のコードは機能しません。サイレントに失敗するだけです。sed を変更して、プレースホルダー間のすべてのテキストを適切に置き換えるにはどうすればよいですか?
前もって感謝します!