SSH命令用于查找和删除包含字符串的所有文件

时间:2015-06-25 15:11:43

标签: unix ssh grep find

我需要使用SSH查找包含特定字符串(恶意软件)的所有文件并删除这些文件。

这是我用来查找和显示这些恶意软件文件列表的命令:

find * -name '*.php' -exec grep -l "return base64_decode(" {} \;

我得到一个这样的列表:

enter image description here

我想删除所有这些文件(不只是显示它们的列表)。

基本上"查找包含字符串的所有文件,并删除这些文件"。

1 个答案:

答案 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