0

私のコードでは、変数の割り当てをアドレスに置き換える必要があります。

sed -i "s/^variable = .*$/variable = http://myaddress/"

アドレスのスラッシュが sed コマンドで認識されるため、明らかにこれは機能しません。

$行末まで何かを置き換えるために、最初の式の最後にを保持したいと思います。\$また、ドル記号を検索するため、ドル記号自体をエスケープしたくありません。

また、アドレスのいくつかの場所には変数もあるため、アドレスのスラッシュをエスケープしたくありません。

#の代わりに使用してみまし/たが、入れたくないものを含める必要があります- \$.

私の状況に合った代替区切り文字はありますか?

4

3 に答える 3

1

$シェルによって解釈されます。'これを防ぐには、引数全体を sed でラップします。

sed -i 's#^variable = .*$#variable = http://myaddress#'
于 2013-02-04T17:01:32.370 に答える
0
sed -i 's#^variable = .*#variable = http://myaddress#'
于 2013-02-04T19:47:21.410 に答える
0
sed -i "s@^variable = .*$@variable = http://myaddress@" file

あなたのために働くはずです。

$最初の式の は文学的な「ドル」ではなく、行の終わりを意味する正規表現であることに注意してください。

于 2013-02-04T17:03:04.933 に答える