如何使用sed命令在第二次出现之前替换所有内容?

用户名

我的网站感染了一些恶意软件,这些恶意软件已在至少3135个文件中插入了恶意代码(我所有的wordpress网站)。

这是被感染的文件之一:http : //pastebin.com/FXU1ht4R

这是我想要的输出:http : //pastebin.com/YPJwjiWH

我不知道的Unix命令,除了一些简单的想法findgrep命令。

经过研究后,我发现了有关该sed命令的信息,但是我不知道该如何使用它。

从上面的代码可以看到,通常的模式是将代码插入每个文件的顶部,即在原始<?php标签之前(这意味着原始<?php标签位于第二个标签之前)。

所以我想我可以找到所有包含cnajwp =并删除第二个<?php标签之前的所有文件的文件

我可以cnajwp通过使用找到包含的文件

find * -type f -name "*.php" -exec grep -l "cnajwp =" {} \;

但我不知道如何替换<?php出现这些情况的第二个标记之前的所有内容

这里有人可以帮我吗?

亚历克斯·斯特吉斯(Alex Stragies)

这将使用您的命令查找受感染的文件,并将列表提供给xargs,后者在第一行运行一个表达式。

find * -type f -name "*.php" -exec grep -l "cnajwp =" {} \; |
xargs sed -i -E '1s/^(<\?php) \$ocnajwp =.*$/\1/'

根据您的输入文件样本,这应该可以解决问题。

由于在此期间,您发现了文件,感染的位置略有不同,并且您最终得到了一些文件,其中前两行都包含<?php,因此您可以运行以下命令来清理这些文件:

find * -type f -name "*.php" -exec \
gawk -i inplace 'NR==2 && /^<\?php$/ {next} 1' {} \;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用命令行在第二次出现引号后删除所有内容?

来自分类Dev

sed替换第一次出现参数的所有内容,而第二次出现的内容则不替换任何内容

来自分类Dev

在PostgreSQL的字符串中返回第二次出现之前的所有内容

来自分类Dev

如何在下划线第二次出现之前删除所有内容

来自分类Dev

如何在第二次出现特定字符后删除所有内容?

来自分类Dev

如何重命名文件以删除字符第二次或第三次出现之前的所有内容?

来自分类Dev

sed命令替换第二次出现的xml标签

来自分类Dev

替换第二次出现的?与 &

来自分类Dev

如何在第二次CRLF之前获取所有文本

来自分类Dev

如何使用SQL替换postgre sql中单词的第二次出现?

来自分类Dev

查找单元格内容并替换第二次出现

来自分类Dev

仅替换模式中的第二次出现

来自分类Dev

第二次出现时的输出内容

来自分类Dev

vi::s如何仅替换一行中的第二次出现?

来自分类Dev

如何只替换第二次出现的re.search()组

来自分类Dev

如何替换Powershell中字符的第二次出现?

来自分类Dev

vi::s如何仅替换一行中的第二次出现?

来自分类Dev

如何替换字符串中单词的第二次出现

来自分类Dev

使用sed在模式的第二次出现时插入行

来自分类Dev

Notepad ++:如何删除逗号的第二次出现

来自分类Dev

如何提取角色的第二次出现?

来自分类Dev

如何编辑重复行的第二次出现?

来自分类Dev

Notepad ++:如何使用Regex在第二次出现逗号后删除文本

来自分类Dev

使用sscanf时如何第二次匹配

来自分类Dev

使用正则表达式替换子字符串的第二次出现

来自分类Dev

如何在所有行和列中第二次出现分隔符后删除分隔符和后续字符串

来自分类Dev

设置第二次是否会重新运行脚本中的所有Shell命令?

来自分类Dev

为什么在我第二次输入内容之前循环中断

来自分类Dev

在文件中第二次出现单词之前插入文本

Related 相关文章

  1. 1

    如何使用命令行在第二次出现引号后删除所有内容?

  2. 2

    sed替换第一次出现参数的所有内容,而第二次出现的内容则不替换任何内容

  3. 3

    在PostgreSQL的字符串中返回第二次出现之前的所有内容

  4. 4

    如何在下划线第二次出现之前删除所有内容

  5. 5

    如何在第二次出现特定字符后删除所有内容?

  6. 6

    如何重命名文件以删除字符第二次或第三次出现之前的所有内容?

  7. 7

    sed命令替换第二次出现的xml标签

  8. 8

    替换第二次出现的?与 &

  9. 9

    如何在第二次CRLF之前获取所有文本

  10. 10

    如何使用SQL替换postgre sql中单词的第二次出现?

  11. 11

    查找单元格内容并替换第二次出现

  12. 12

    仅替换模式中的第二次出现

  13. 13

    第二次出现时的输出内容

  14. 14

    vi::s如何仅替换一行中的第二次出现?

  15. 15

    如何只替换第二次出现的re.search()组

  16. 16

    如何替换Powershell中字符的第二次出现?

  17. 17

    vi::s如何仅替换一行中的第二次出现?

  18. 18

    如何替换字符串中单词的第二次出现

  19. 19

    使用sed在模式的第二次出现时插入行

  20. 20

    Notepad ++:如何删除逗号的第二次出现

  21. 21

    如何提取角色的第二次出现?

  22. 22

    如何编辑重复行的第二次出现?

  23. 23

    Notepad ++:如何使用Regex在第二次出现逗号后删除文本

  24. 24

    使用sscanf时如何第二次匹配

  25. 25

    使用正则表达式替换子字符串的第二次出现

  26. 26

    如何在所有行和列中第二次出现分隔符后删除分隔符和后续字符串

  27. 27

    设置第二次是否会重新运行脚本中的所有Shell命令?

  28. 28

    为什么在我第二次输入内容之前循环中断

  29. 29

    在文件中第二次出现单词之前插入文本

热门标签

归档