在终端中使用Perl或sed试图覆盖一个有单引号的字符串。

问题描述 投票:0回答:2

我在一个文件中有以下一行。

$app-assets:"/assets/";

我想在终端机上用sed覆盖这一行,改成如下内容。

$app-assets:"http://www.example.com/assets/";

我试过下面的方法,但没有用。

sed -i \'\' -e \'s/app-assets:"/assets/"/app-assets:"http://www.example.com/assets/"/g\' myfile.txt

我可以用Perl,如果更简单的话

sed terminal
2个回答
-1
投票
sed 's/app-assets:\"\/assets\/\";/app-assets:\"http:\/\/www\.example\.com\/assets\/\";/g' filename

0
投票

使用下面的方法 镇静剂 办法。

sed -i 's~\(\$app-assets:"\)\(/assets/\)"~\1http://www.example.com\2"~' myfile.txt

  • ~ 在这里被视为 镇静剂 子命令分离器
© www.soinside.com 2019 - 2024. All rights reserved.