我想要一个bash脚本在目录中递归读取所有文件并从中删除一些代码(即iframe病毒)并保存回原始文件。
答案 0 :(得分: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 {} \;
这将完成这项工作。我的测试通过了。
答案 1 :(得分:1)
答案 2 :(得分:0)
this会合适吗?