2012-03-07 95 views
0

我想用僅使用sed的測試來替換$ _SERVER ['DB_NAME']。我想不明白。我正在逃避$和括號...爲什麼我沒有得到正確的結果?字符串替換不能轉義?

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

回答

0

你可以試試這個

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

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

我覺得自己很蠢。如此簡單的解決方案。大多數sed例子都是用單引號寫的,所以我陷入了這種寫作的習慣。製作雙引號是有道理的。謝謝。 – user983223 2012-03-07 04:11:14

0

您對sed命令和'DB_NAME'都使用單引號。將sed命令行中的引號更改爲雙引號或轉義內部引號。