我在多个文件中有一段 php 代码(内部<? php ... ?>
),我想删除它。
我尝试将代码放入变量中:
var="<?php [some code in here] ?>"
然后运行这个:
find . -type f -name '*.php' -exec sed "s|$var| |" {} \;
或者
find . -type f -name '*.php' -exec sed -i 's/'"$var"'.*/'"$str"'/g' {} \;
(其中str =“”)
有没有办法做到这一点?
答案1
试试这个,但-i
第一次删除以确保它有效:
var='echo rand(1, 10);' # dummy code, change to whatever.
sed -i 's/<? php '"${var}"' ?>//' *.php
笔记:
- 代码在
$var
被假定为单行代码。 - 如果代码包含任何
'
单引号,请像这样转义它们\'
。 - 上面假设空白变化不是问题,但它通常可能是问题。