字符串替换不逃避?

时间:2012-03-07 04:00:07

标签: regex unix sed

我想用sed替换单词test替换$ _SERVER ['DB_NAME']。我想不明白。我正在逃避$和括号......为什么我没有得到正确的结果?

echo "\$_SERVER['DB_NAME']" | sed 's/\$_SERVER\['DB_NAME'\]/test/g'

2 个答案:

答案 0 :(得分:0)

您正在为sed命令和'DB_NAME'使用单引号。将sed命令行周围的引号更改为双引号或转义内部引号。

答案 1 :(得分:0)

你可以试试这个

echo "\$_SERVER['DB_NAME']" | sed "s/\$_SERVER\['DB_NAME'\]/test/g"

echo "\$_SERVER['DB_NAME']" | sed 's/\$_SERVER\['"'"'DB_NAME'"'"'\]/test/g'