黑客攻击后,我需要清理一些代码,添加到太多文件的第一行。
<?php $somevar = 'some code....... ?><?php
我需要在<?php $somevar
和?>
之间进行清理,因为最新的<?php
可以与<html
和其他sed -i.bak 's/\(<?php $drnrwsrl\).*\(?>\)/\1\2/' file.php
不同。
如果使用这个我需要两个陡峭的,因为不是干净的分隔符。我也需要删除分隔符。
<?php $drnrwsrl?><?php
结果
<?php
而不是我想要的
declare
c_minute number;
c_hour number;
begin
select
case when (17 - to_char(systimestamp,'HH24')) < 0 then 0 else 17 - to_char(systimestamp,'HH24') end hours into c_hour,
case when (17 - to_char(systimestamp,'HH24')) < 0 then 0 else 60 - to_char(systimestamp,'MI') end into c_minute
from dual;
end;
答案 0 :(得分:2)
尝试
sed -i.bak -E 's/(<\?php.*\(?>)(<\?php)/\2/' file.php
答案 1 :(得分:1)
使用没有反向引用的BRE:
sed -i.bak 's/<?php \$somevar[^>]*><?php/<?php/' file.php
仅适用于第一行:
sed -i.bak '1s/<?php \$somevar[^>]*><?php/<?php/' file.php