Regex 字符串替换不转义?
我想用使用sed的test这个词来替换$\u SERVER['DB\u NAME']。我想不出来。我正在逃离$和括号…为什么我没有得到正确的结果Regex 字符串替换不转义?,regex,unix,sed,Regex,Unix,Sed,我想用使用sed的test这个词来替换$\u SERVER['DB\u NAME']。我想不出来。我正在逃离$和括号…为什么我没有得到正确的结果 echo "\$_SERVER['DB_NAME']" | sed 's/\$_SERVER\['DB_NAME'\]/test/g' sed命令和“DB_NAME”都使用单引号。将sed命令行周围的引号更改为双引号或转义内部引号。您可以尝试此操作 echo "\$_SERVER['DB_NAME']" | sed "s/\$_SERVER\['DB
echo "\$_SERVER['DB_NAME']" | sed 's/\$_SERVER\['DB_NAME'\]/test/g'
sed命令和“DB_NAME”都使用单引号。将sed命令行周围的引号更改为双引号或转义内部引号。您可以尝试此操作
echo "\$_SERVER['DB_NAME']" | sed "s/\$_SERVER\['DB_NAME'\]/test/g"
或
我觉得自己很愚蠢。这么简单的解决方案。大多数sed示例都是用单引号编写的,因此我养成了用这种方式编写的习惯。引用双引号是有道理的。谢谢
echo "\$_SERVER['DB_NAME']" | sed 's/\$_SERVER\['"'"'DB_NAME'"'"'\]/test/g'