删除所有少于X个文件的子文件夹

费德里科·多拉托(Federico Dorato)

我想删除文件夹中少于X个文件的所有子文件夹

以下代码搜索文件少于X的子文件夹:

$ find . -type d -exec sh -c 'set -- "$0"/*; [ $# -le 10 ]' {} \; -print
./digna_1919
./digna_2040
./digna_1682
(more output omitted) 

这样我就可以找到他们!但是,如果这样做,我将得到“目录不为空”:

$ find . -type d -exec sh -c 'set -- "$0"/*; [ $# -le 10 ]' {} \; -delete
find: cannot delete ‘./digna_1919’: Directory not empty
find: cannot delete ‘./digna_2040’: Directory not empty
find: cannot delete ‘./digna_1682’: Directory not empty
(more output omitted)

如果执行此操作,则会得到“无此文件或目录”:

$ find . -type d -exec sh -c 'set -- "$0"/*; [ $# -le 10 ]' {} \; -exec rm -r "{}" \;
find: ‘./digna_1919’: No such file or directory
find: ‘./digna_2040’: No such file or directory
find: ‘./digna_1682’: No such file or directory
(more output omitted)

我在哪里做错了?非常感谢!

代码源

约翰·库格曼

使用-depthfind目录本身之前,过程中的每个目录的内容。每当您删除项目时,您都想这样做。

$ find . -depth -type d -exec sh -c 'set -- "$0"/*; [ $# -le 10 ]' {} \; -exec rm -r {} \;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何删除文件夹中除最新X子文件夹以外的所有子文件夹?

删除除X个最近的文件夹外的所有文件夹

递归搜索子文件夹并删除6个月以上的子文件夹中的所有文件

递归删除除一个子文件夹之外的所有子文件夹

Bash:查找少于x个文件的文件夹

删除所有旧文件,文件夹和子文件夹的命令

如何最好地删除文件夹及其子文件夹中的所有文件

删除文件夹及其子文件夹中的所有文件

PHP删除2个文件夹中所有x天以上的文件

删除所有node_modules子文件夹

删除子文件夹中的所有内容

删除第二个数字子文件夹之后的所有内容

删除所有子文件夹中的`target`文件夹

如何删除一个文件夹,但将所有子文件夹和文件保留在一个git分支中?

powershell 删除除最后三个文件夹之外的所有文件夹

删除文件夹中Google脚本中除x个最近发送的文件外的所有文件

如何删除父文件夹下只有一个文件的子文件夹

如何使用cron作业删除public_ftp文件夹及其子文件夹中所有早于X天的文件?

从超过 X 天的 S3 存储桶中删除文件夹、子文件夹和所有文件

如何删除所有子文件夹中所有小于特定大小的文件?

如何使用PowerShell从文件夹和所有子文件夹中删除所有访问规则?

查找和删除文件夹及其子文件夹中所有不带扩展名的文件

删除所有子文件夹和文件,但父文件夹中的特定扩展名除外

删除文件夹中除文件X,Y和Z以外的所有文件

将除一个子文件夹外的所有子文件夹移动到该子文件夹中

在给定文件夹的所有子文件夹中递归创建一个php文件

InnoSetup:尝试排除一个子文件夹以外的所有子文件夹

如何删除Android上一个文件夹中的所有文件和文件夹

递归删除所有文件和文件夹,但不包括一个文件夹