0

我想要一个 bash 脚本以递归方式读取目录中的所有文件并从中删除一些代码(即 iframe 病毒)并保存回原始文件。

4

3 回答 3

2

您需要显示要删除的 iframe,但通常您可以使用 find & sed 执行此操作。如果您不确切知道如何编写此类脚本,请向我们提供更多信息,例如要删除的 html 文件扩展名和 iframe 模式(尤其是如果它并不总是相同的情况下)。

好的,假设你有 PHP 文件并且你想删除每个 iframe 标记(因此,没有其他有用的 iframe),你可以使用这个解决方案:首先,编写change.sh这样的 shell 脚本:

#!/bin/bash

sed 's/<iframe[^>]*>.*<\/iframe>//g' < "$1" > "$1.tmp"
mv "$1.tmp" "$1"

然后,你可以使用这个:

find . -name "*.php" | xargs -i ./change.sh {} \;

这将完成这项工作。我的测试通过了。

于 2009-09-12T11:23:12.127 回答
1

http://www.phpclasses.org/package/3211-PHP-Search-files-and-replace-their-content.html你可以使用这个类

于 2010-05-11T14:01:52.773 回答
0

合适吗?

于 2009-09-12T11:12:52.360 回答