doufang8965 2016-08-11 06:35
浏览 63
已采纳

如何使用PHP替换line在sed命令中使用变量

I want to find and replace the whole line including adding new text in PHP using sed command in Linux. I tried below, but it does not work for variable but it works when I manually pass.

Example (This is Working):

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

Example (This is not working):

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

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

I tried with double quote, but still no luck. Can someone please help me to resolve this problem.

  • 写回答

1条回答 默认 最新

  • dongtan2017 2016-08-11 06:59
    关注

    Maybe you should extract variables out of your string so as to make sure the '$' is not treated as a character ?

    $var = exec("sed -i '/".$var1."/c ".$var1." ".$var2".' t1.conf");
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?