如何使用 find 查找和删除具有特定内容的文件夹

如何使用 find 查找和删除具有特定内容的文件夹

我有一个每天备份(每天两次)的驱动器,并且需要删除每次备份中位于文件夹结构深处的文件夹。

/mnt/backup/backup/[yymmdd_hhmm/backup-clients/[用户名]/

能做sudo find /mnt/backup/backup/ -type d -name [username] | rm -r那项工作吗?

答案1

您想使用 find 的-exec选项-exec rm -r {} ++最终将参数分组为更大的批次,这意味着每个结果不会有单独的rm过程,但它们将被分组为更大的块,从而降低 CPU 使用率。

首先运行find不带的-exec,这样您可以快速确保传递给的参数rm -r是正确的:

find /mnt/backup/backup/ -name "[username]" -type d

如果一切正常,请继续:

find /mnt/backup/backup/ -name "[username]" -type d -exec rm -r {} +

相关内容