我的文件遭到攻击。
现在我的许多文件都以
开头; ?><?php
在第一行。
我想用
替换它<?php
我需要一个shell命令来递归地处理我服务器中的许多目录,所以参数可以是一个目录。
只需要第一行,只需要PHP文件。
答案 0 :(得分:1)
使用sed对一个文件进行此类编辑的命令将是
sed -i '1s/^; ?><?php/<?php/' file
替换该文件就地。如果您使用BSD sed而不是GNU sed,则必须在sed -i.bak
中指定扩展名。
现在,要对许多文件执行此操作,您可以将命令与find
:
find . -type f -name '*.php' -exec sed -i '1s/^; ?><?php/<?php/' {} \;
这将以递归方式查找所有.php
个文件并进行替换。
总而言之,如果你真的被黑了,你应该从一个已知的好备份开始。