我想要一个 bash 脚本以递归方式读取目录中的所有文件并从中删除一些代码(即 iframe 病毒)并保存回原始文件。
问问题
2165 次
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
于 2010-05-11T14:01:52.773 回答
0
这合适吗?
于 2009-09-12T11:12:52.360 回答