为什么不能用sed命令替换?

时间:2014-10-26 07:41:19

标签: sed

我想在文件define('DB_NAME', 'name_here');中用define('DB_NAME', 'myname');替换所有字符串wp-config.php

x="define('DB_NAME', 'name_here');"
y="define('DB_NAME', 'myname');"
sed  -i 's/$x/$y/g'   wp-config.php

控制台中没有错误信息,但没有任何反应 如何在文件define('DB_NAME', 'name_here');中用define('DB_NAME', 'myname');替换所有字符串wp-config.php

1 个答案:

答案 0 :(得分:2)

单引号导致问题并使sed不评估您的变量。请改为使用sed代码附近的双引号。

x="define('DB_NAME', 'name_here');"
y="define('DB_NAME', 'myname');"
sed  -i "s/$x/$y/g"   wp-config.php

PS看看发生了什么,请等待-i,看看输出是否正确。

sed  "s/$x/$y/g" wp-config.php
define('DB_NAME', 'myname');