Unix SSH命令查找和删除包含字符串的所有文件
我需要使用SSH查找包含特定字符串(恶意软件)的所有文件并删除这些文件 这是我用来查找和显示这些恶意软件文件列表的命令:Unix SSH命令查找和删除包含字符串的所有文件,unix,ssh,grep,find,Unix,Ssh,Grep,Find,我需要使用SSH查找包含特定字符串(恶意软件)的所有文件并删除这些文件 这是我用来查找和显示这些恶意软件文件列表的命令: find * -name '*.php' -exec grep -l "return base64_decode(" {} \; 我得到了这样一份清单: 我想删除所有这些文件(而不仅仅是显示它们的列表) 基本上是“查找包含字符串的所有文件,并删除这些文件”。您可以说pipexargs rm,以便删除给定的文件名: find * -name '*.php' -exec gr
find * -name '*.php' -exec grep -l "return base64_decode(" {} \;
我得到了这样一份清单:
我想删除所有这些文件(而不仅仅是显示它们的列表)
基本上是“查找包含字符串的所有文件,并删除这些文件”。您可以说pipe
xargs rm
,以便删除给定的文件名:
find * -name '*.php' -exec grep -l "return base64_decode(" {} \; | xargs rm
您还可以存储find
的当前输出,然后循环执行rm
的内容:
find…>文件
而IFS=read-r文件
做
rm“$file”
完成<文件
很高兴读到这篇文章,@AlboBest:)出于好奇:你用的是哪个版本,是find | xargs rm
还是带循环的版本?我用的是find | xargs rm
我不知道如何使用其他版本/代码,哈哈:)@AlboBest好的,可能解释得不太清楚。这里要说的是find…
,然后输出到一个文件中。然后,使用while
循环遍历文件。
find ... > file
while IFS= read -r file
do
rm "$file"
done < file