1

次のコードを含むStrings.xmlファイルがあります。

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">myurl</string>
<string name="app_name">MyApp</string>
</resources>

ユーザーが指定したURLへのコマンドラインを使用してmyurlの値を操作したい。

私が使用しているコマンドは

sed s/myurl/http://192.168.1.1:8080/ strings.xml

しかし、エラーが発生しています:sed:1: "s / myurl / http:// 192.168. ...":置換コマンドのフラグが正しくありません:'/'

これは、2つのスラッシュ(//)が原因です。sedコマンドに値を渡す方法はありますか?

4

2 に答える 2

3

次のように、sedで他の区切り文字を使用できます!

sed 's!myurl!http://192.168.1.1:8080/!' strings.xml

(醜い)代替手段はそれらを脱出することです:

sed 's/myurl/http:\/\/192.168.1.1:8080\//' strings.xml
于 2012-06-12T13:05:16.920 に答える
0

\すべてのエスケープ記号の前に使用します。

于 2012-06-12T13:06:02.787 に答える