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 版本(其實(shí),這個(gè)太不嚴(yán)謹(jǐn)!)
find . -type d|
du -S |
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
#為刪除準(zhǔn)備( 比如 文件夾 ./t1 空 ./t1/t11 空 。排序?yàn)?先 ./t1/t11 后 ./t1 。這刪除就不會(huì)錯(cuò) )
gawk '{system("rmdir "$0)}'
#野蠻的刪除
其他:
結(jié)合sort -u 可以找出最小或最大 幾個(gè)文件
#!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);
整理 m.tkk7.com/Good-Game