LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1981|回复: 13

怎样递归删除一个目录下的很多这样的空文件夹

[复制链接]
发表于 2006-3-11 23:54:59 | 显示全部楼层 |阅读模式
怎样递归删除一个目录下的很多下面这样的空文件夹?

[ 704M 50Files - COMPLETE ] - [divxer]
发表于 2006-3-12 03:31:27 | 显示全部楼层
最简单的就是:

在相应的目录运行
find . -type d -exec rmdir {} \;

rmdir 只会删除空的目录。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-12 11:50:47 | 显示全部楼层
Post by qinhu
怎样递归删除一个目录下的很多下面这样的空文件夹?

[ 704M 50Files - COMPLETE ] - [divxer]



有没有其他办法,因为这个目录下除了这个名字的空目录之外还有其他的空目录,我只想删掉这个样子的目录,多谢
回复 支持 反对

使用道具 举报

发表于 2006-3-12 13:12:05 | 显示全部楼层
Post by qinhu
有没有其他办法,因为这个目录下除了这个名字的空目录之外还有其他的空目录,我只想删掉这个样子的目录,多谢


利用find也是可以做到的,


  1. find . -name xxx -type d -ok mkdir {} \;
复制代码


用条件限制一下就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-14 06:35:42 | 显示全部楼层
这样吗?

find . -name "[ 704M 50Files - COMPLETE ] - [divxer]" -type d -ok rmdir {} \;

还是不行啊
回复 支持 反对

使用道具 举报

发表于 2006-3-14 09:20:57 | 显示全部楼层
这个样子是类似还是同名?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-15 12:11:41 | 显示全部楼层
是类似

只是 704M 50Files 这部分不同
回复 支持 反对

使用道具 举报

发表于 2006-3-15 17:32:38 | 显示全部楼层
用个通配符就可以
find . -name "[*COMPLETE ] - [divxer]" -type d -exec rmdir --ignore-fail-on-non-empty {} \;

把exec换成ok,如果你想交互。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-15 22:52:56 | 显示全部楼层
Post by qinhu
是类似

只是 704M 50Files 这部分不同


谢谢各位的耐心解答,但我还是没有解决问题


find . -name "[ 704M 50Files - COMPLETE ] - [divxer]" -type d -ok rmdir {} \;

find . -name "[*COMPLETE ] - [divxer]" -type d -exec rmdir --ignore-fail-on-non-empty {} \;
后没有任何提示信息,也没有删除掉


find . -name "*divxer*" -type d -exec rmdir --ignore-fail-on-non-empty {} \;
后提示
find: ./[ 704M 50Files - COMPLETE ] - [divxer]: No such file or directory

[ 704M 50Files - COMPLETE ] - [divxer]:
这个目录删除掉了

我想是不是空格和[这些特殊字符的原因?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-18 08:09:45 | 显示全部楼层
还有人帮忙吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表