如果使用 Find 或 Grep 命令在其中找到特定文件,则删除整个目录

Delete whole Directory if a Specefic File found in it using Find or Grep Command

如果使用 findgrep 命令在其中找到特定文件,我正在寻求帮助以删除整个目录

我可以使用此命令搜索包含在特定文本中的文件

grep -iRl "Hacked by Hun73rCL4W"

因为我发现 index (1).html 文件包含我搜索过的特定文本。

现在,我不仅要删除 index (1).html 文件,还要删除黑客创建的所有同级文件及其 父文件夹 /uixuqkbxmy//trwzqrpaaq/ 在我的例子中。

为此,我创建并搜索了许多如下所示的命令,但都无济于事。

1.一起使用 findgrep 命令搜索文件

find -type f -exec grep -l "Hacked by Hun73rCL4W" {} \;

它只帮助我找到了文件名及其路径。

2。搜索并删除

find -type f -exec grep -l "Hacked by Hun73rCL4W" {} ; xargs rm -rf

find -type f -exec grep -l "Hacked by Hun73rCL4W" {} ; -delete

这些命令只帮助我删除了正在搜索的特定文件。

3。这些命令帮助我打印父目录名称。

find -type f -exec grep -l "Hacked by Hun73rCL4W" {} ; -printf '%h\n'

现在我正在寻找解决方案,如下所示的命令

find -type f -exec grep -l "Hacked by Hun73rCL4W" {} ; -printf '%h\n' -exec rm -rf "{}" ;

  1. 它应该搜索包含特定文本的文件。
  2. 它应该删除这个文件,包括它的兄弟文件和它的父目录

这个怎么样?

grep -ril "Hacked by Hun73rCL4W" | awk -F/ '{$NF="";print}' OFS='/' | xargs rm -rf

似乎对我有用:

$ mkdir -p public_html/wp-content/plugins/{awerwear,asdfse3r,sdfgeh}
$ vim public_html/wp-content/plugins/{awerwear,asdfse3r,sdfgeh}/index\ \(1\).html
$ grep -ril "Hacked by Hun73rCL4W"
public_html/wp-content/plugins/sdfgeh/index (1).html
public_html/wp-content/plugins/asdfse3r/index (1).html
public_html/wp-content/plugins/awerwear/index (1).html
$ grep -ril "Hacked by Hun73rCL4W" | awk -F/ '{$NF="";print}' OFS='/'
public_html/wp-content/plugins/sdfgeh/
public_html/wp-content/plugins/asdfse3r/
public_html/wp-content/plugins/awerwear/
$ grep -ril "Hacked by Hun73rCL4W" | awk -F/ '{$NF="";print}' OFS='/' | xargs rm -rf 
$ find
.
./pines
./public_html
./public_html/wp-content
./public_html/wp-content/plugins

P.S.:这不会使我对你的问题的评论无效;你将通过删除那些

是安全的或“未被黑客入侵”