ファイル内の 2 つの文字列の間の特定のテキストを置き換える bash スクリプトを使用しています。次のようになります。
GATEWAYURL = 'myDomain.com'
CONFIGFILE = 'full/path/to/config.file'
replacementString1="s/(?<=gatewayIp:).*(?=,)/\"${GATEWAYURL}\"/;"
perl -pi -e $replacementString1 $CONFIGFILE
これは、ファイルに次のような行を作成するのに最適です。
gatewayIp:"the.old.domain.name.com",
こんな風に見える:
gatewayIp:"myDomain.com",
すべて問題ありませんが、私の人生では、これを機能させて URL の一部を置き換える方法がわかりません。たとえば、私が欲しい:
redirectUri: "http://the.old.domain.name.com/oauth2callback.html",
することが:
redirectUri: "http://myDomain.com/oauth2callback.html",
私はこれがうまくいくと思います:
replacementString1="s/(?<=redirectUri: \"http:\/\/).*(?=\/oauth2callback.html)/${GATEWAYURL}/;"
ただし、次のエラーが表示されます。
Substitution pattern not terminated at -e line 1.
URL の // と / をエスケープする他の方法をたくさん試しましたが、正しく動作しないようです。