删除或替换 3500 php 个文件的第一行

Delete or replace first line of 3500 php files

我有一台旧服务器,所有 php 文件都被所有文件第一行的恶意代码破坏。 我会用包含 <?php

的简单行替换第一行

你能建议我执行此操作的 linux 命令吗?

谢谢

这是一个小的 python 脚本,它将处理其文件夹中的所有 *.php 文件,并在名为 new_files 的子文件夹中创建修改后的版本。不要忘记在 运行 脚本之前创建该子文件夹!

    import glob

    for f in glob.glob("*.php"):
        f_in=open(f,"r")
        f_out=open("new_files/"+f,"w")
        f_out.write("<?php\n")
        for l in f_in.readlines()[1:]:
            f_out.write(l)
        f_out.close()
        f_in.close()

我知道这不是 linux 命令,但如果您创建一个名为 "script.py" 的文件并安装 python,则 linux 命令将是 "python script.py"。哈哈开个玩笑,希望还是有帮助的;)

我这样写:

    grep 'create_";global' -rl | xargs sed '1 s/^.*$/<?php/g' -i

而且我认为它能胜任

检查

grep '$efidomat.*$otunim);'   *.php

在目录中删除

sed -i 's/$efidomat.*$otunim);//'   *.php

在目录树中删除

find . -type f -exec  sed -i 's/$efidomat.*$otunim);

参数

$efidomat - "my" 恶意代码的开头。

$otunim - "my" 恶意代码结束。