怎样批量删除某个目录下的所有空目录?

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
ssfjhh
帖子: 1289
注册时间: 2007-11-08 21:23
来自: 中国

怎样批量删除某个目录下的所有空目录?

#1

帖子 ssfjhh » 2008-11-16 16:27

可以用find -type d来查找目录,空目录的连接数量为2

但是命令应该怎么写呢?求助

另外有好多目录下只有一个目录,该目录又和上层目录名相同,每次想打开文件都要打开一个很比较深的路径,能不能批量把所有这样的的文件都转移到上一层目录。

例如:将aaa/aaa/aaa/aaa/XXX改成这个样子aaa/XXX
这个功能如何实现?
http://yufanyufan.spaces.live.com/blog/ ... !149.entry
要实现的功能为,若当前标签页为空白页,则在当前页打开,否则新建一个标签页。
xeoc
帖子: 1994
注册时间: 2007-05-06 10:12

Re: 怎样批量删除某个目录下的所有空目录?

#2

帖子 xeoc » 2008-11-16 16:32

头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

Re: 怎样批量删除某个目录下的所有空目录?

#3

帖子 xhy » 2008-11-16 16:47

find -type d -empty -exec rmdir {} +

第二个比较复杂,如果要求性能高的话,自己dump一个文件系统的结构,创建一颗树,对这棵树进行操作,生成mv指令的序列。

如果不要求性能,重复“把只有一个文件的目录往上移动一层”直到没有这样的目录为止
目前负债150多万
头像
ssfjhh
帖子: 1289
注册时间: 2007-11-08 21:23
来自: 中国

Re: 怎样批量删除某个目录下的所有空目录?

#4

帖子 ssfjhh » 2008-11-16 16:50

整理一些文档,那些文档压缩的时候用winrar压缩的,直接右键文件夹,可是解压的是又选择解压到,造成现在这个样子,想偷个懒,就到论坛时求助来了。 :em06
这个功能如何实现?
http://yufanyufan.spaces.live.com/blog/ ... !149.entry
要实现的功能为,若当前标签页为空白页,则在当前页打开,否则新建一个标签页。
回复