删除一组文件夹中的某个文件夹的内容?

删除一组文件夹中的某个文件夹的内容?

我有一堆文件夹,比如/test//test1/,它们都包含文件夹/x//x/一些我不想要的随机文件。我想递归遍历所有文件夹并进入/x/并删除所有内容。

但我似乎无法弄清楚如何仅删除/x/文件夹内的内容。

答案1

我将使用 find 命令并在表达式中使用 -exec 选项。

首先测试一下,确保它能找到正确的目录,并且不会出现误报。切换到您想要启动的目录,然后输入:

find . -type d -iname x

该命令将对当前工作目录中名为“x”的所有目录进行不区分大小写的搜索,并向下递归。如果输出正确,则可以通过执行以下命令删除这些目录中的文件:

find . -type d -iname x -exec rm {}/* \+

这将仅删除名为“x”的目录中包含的文件。如果您还想删除“x”目录,请使用以下命令:

find . -type d -iname x -exec rm -Rf {} \+

相关内容