1.windows cygwin 版本
查找 文件夹大小py,参考: 获取文件夹大小的python代码
du #文件夹大小
gawk '{if($1=="0"){print $2}}' #文件夹为 0 输出
sort -ru #为删除准备( 比如 文件夹 ./t1 空 ./t1/t11 空 。排序为 先 ./t1/t11 后 ./t1 。这删除就不会错 )
gawk '{system("rmdir "$0)}' #野蛮的删除
其他:
结合sort -u 可以找出最小或最大 几个文件
find .
-
type d
|
du |
gawk '{ if ($ 1 == " 0 " ){print $ 2 }}' | #我这使用 cygwin判断 $1==0 ,如果使用 linux 那就 $1=="4"
sort - ru |
gawk '{system( " rmdir " $ 0 )}'
2.linux 版本(其实,这个太不严谨!)
du |
gawk '{ if ($ 1 == " 0 " ){print $ 2 }}' | #我这使用 cygwin判断 $1==0 ,如果使用 linux 那就 $1=="4"
sort - ru |
gawk '{system( " rmdir " $ 0 )}'
find
.
-
type d
|
du - S |
gawk ' {if($1=="4"){print $2}} ' |
sort - ru |
gawk ' {system("rmdir "$0)} '
3.shell + python
du - S |
gawk ' {if($1=="4"){print $2}} ' |
sort - ru |
gawk ' {system("rmdir "$0)} '
查找 文件夹大小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
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 ;
find
.
-
type d
-
exec
python getDirSize
.
py {}
\
;
|
sort - ru |
gawk ' {if($2=="0"){print $1}} ' |
gawk ' {system(" rmdir "$0)} '
find . -type d
#查找文件夹
sort - ru |
gawk ' {if($2=="0"){print $1}} ' |
gawk ' {system(" rmdir "$0)} '
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 删除空文件夹,如需转载请自行联系原博主。
# 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);