shell 删除空文件夹

1.windows cygwin 版本 
  find .  - type d |
    
du  |
     
gawk '{ if ($ 1 == " 0 " ){print $ 2 }}'  |      #我这使用 cygwin判断 $1==0  ,如果使用 linux 那就 $1=="4"
       sort 
- ru  |
         gawk '{system(
" rmdir  " $ 0 )}'
2.linux  版本(其实,这个太不严谨!)
find  .   - type d |
    du 
- |
     gawk 
' {if($1=="4"){print $2}} '   |    
       
sort   - ru  |
         gawk 
' {system("rmdir "$0)} '
3.shell + python 
查找 文件夹大小py,参考: 获取文件夹大小的python代码
# !/bin/python
import  os,sys
from  os.path  import  join, getsize

def  getdirsize(dir):
        size 
=  0L;
        
for  root, dirs, files  in  os.walk(dir):
                
size += sum([ getdirsize(join(root,dname)) for dname in dirs ]);
                size  +=  sum([getsize(join(root, name))  for  name  in  files]);
                
return  size;

dir_path
= sys.argv[ 1 ];
filesize 
=  getdirsize(dir_path);
print  dir_path, " \t " ,filesize ;
shell 
find  .   - type d  - exec  python getDirSize . py {}  \ ; |
sort
  - ru  |  
gawk 
' {if($2=="0"){print $1}} '   |
gawk 
' {system(" rmdir "$0)} '  
find . -type d  #查找文件夹
du   #文件夹大小
gawk '{if($1=="0"){print $2}}'  #文件夹为 0 输出
sort -ru  #为删除准备( 比如 文件夹 ./t1 空 ./t1/t11 空 。排序为 先 ./t1/t11 后 ./t1 。这删除就不会错  )
gawk '{system("rmdir "$0)}'  #野蛮的删除
其他:
结合sort -u  可以找出最小或最大 几个文件
# !python
#
 python this.py /home/xj_liukaiyi/imusic/ ".*128kbps\/.*\.mp3"
import  os,sys,re
from  os.path  import  join, getsize

def  getdirsize(dir,refile):
    
for  root, dirs, files  in  os.walk(dir):
    
for  dname  in  dirs :
        getdirsize(join(root,dname),refile)
        
for  name  in  files :
            ffname
= join(root,name)
            
if  re.search(refile,ffname):
                
print   " %09d\t%s "   %  (getsize(ffname),ffname)

dir_path
= sys.argv[ 1 ];
file_re
= sys.argv[ 2 ];

filesize 
=  getdirsize(dir_path,file_re);

本文转自博客园刘凯毅的博客,原文链接:shell 删除空文件夹,如需转载请自行联系原博主。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值