我需要使用SSH查找包含特定字符串(恶意软件)的所有文件并删除这些文件。
这是我用来查找和显示这些恶意软件文件列表的命令:
find * -name '*.php' -exec grep -l "return base64_decode(" {} \;
我得到一个这样的列表:
我想删除所有这些文件(不只是显示它们的列表)。
基本上"查找包含字符串的所有文件,并删除这些文件"。
答案 0 :(得分:2)
您可以说管道xargs rm
,以便删除给定的文件名:
find * -name '*.php' -exec grep -l "return base64_decode(" {} \; | xargs rm
您还可以存储find
的当前输出,然后遍历执行rm <file>
的内容:
find ... > file
while IFS= read -r file
do
rm "$file"
done < file