私はIPを動的に置き換えたいと思っていますが、somehwo sedは実際の値の代わりに$ IPを配置しています。sedを使用して置き換えます
IP=10.50.33.44
PORT=5774
sed -i~ 's/https:\/\/10.11.12.13:8443/https:\/\/$IP:$PORT/g' abc.txt
正しい値を取得する際にお手伝いできますか?変数の展開のための
私はIPを動的に置き換えたいと思っていますが、somehwo sedは実際の値の代わりに$ IPを配置しています。sedを使用して置き換えます
IP=10.50.33.44
PORT=5774
sed -i~ 's/https:\/\/10.11.12.13:8443/https:\/\/$IP:$PORT/g' abc.txt
正しい値を取得する際にお手伝いできますか?変数の展開のための
二重引用符を使用"
:
sed -i~ "s/https:\/\/10.11.12.13:8443/https:\/\/$IP:$PORT/g" abc.txt
と@Joachimは異なる区切り文字を使用して、言ったように。例えばテーマに、
sed -i~ "s;https://10.11.12.13:8443;https://$IP:$PORT;g" abc.txt
バリエーション:私は常に二重引用符を使用した場合、シェルなどのコマンドは時々あなたをつまずかせることができSED/awkは/ perlの...を囲むように単一引用符を使用します。 私は、変数引用倍増することが最善見つける:それはAltキーコントロールの(キーバインディングMCE、「ベルトとブレース」として
sed -i~ 's/https:\/\/10.11.12.13:8443/https:\/\/'"$IP"':'"$PORT"'/g' abc.txt
を、私は普通のbashのコマンドラインで対話的に私の命令を構成するようほとんどのキーボードで-e)は、送信前にコマンドを補間します。コマンドが実際に何を得ているのかを視覚的に確認できます。
少しヒント: '/'文字をエスケープしたくない場合は、 's%%%'のようなものを使用できます。 '/'や '%'文字はもちろん、パターンや置換の中に見つからないものであってもかまいません。 –