2016-08-11 168 views
0

我想查找並替換整個行,包括在Linux中使用sed命令在PHP中添加新文本。我在下面嘗試,但它不適用於變量,但它在我手動傳遞時起作用。如何在使用PHP的sed命令中使用變量替換行

示例(這是工作):

$var = exec("sed -i '/Tom/c Tom Rick' t1.conf"); 

示例(這是不工作):

$var1 = "Tom"; 
$var2 = "Rick"; 

$var = exec("sed -i '/$var1/c $var1 $var2' t1.conf"); 

我試着用雙引號,但仍沒有運氣。有人可以幫我解決這個問題。

+0

這兩個例子在我嘗試時都有效。標籤[tag:environment-variables]不合適 - 沒有直接涉及的環境變量。 – Armali

回答

0

也許你應該從字符串中提取變量,以確保'$'不被視爲字符?

$var = exec("sed -i '/".$var1."/c ".$var1." ".$var2".' t1.conf"); 
+0

謝謝Julien!解決方案工作後,一些小的修改。 –