免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1980 | 回复: 6
打印 上一主题 下一主题

求助:遍历目录树,然后删除最底层目录。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-03 17:03 |只看该作者 |倒序浏览
#!/bin/bash

rmcache()
{
for file in 'find *'
do

        if [-d $file]
        then
                cd $file
                rmcache()
        fi
      
        if [-f $file]
        then
                cd ..
                for file1 in 'find *'
                do
                        rm -rf $file1
                        sleep 60
                  done
                  sleep 60
        fi

done

}
rmcache

一个目录,在它下面有非常多的随机生成的目录,在这些随机生成目录下面还是随机生成的目录.......  这些随机目录一共6层或7层,只有在最后一层的随机目录中有文件(非常庞大),其他层的随机目录没有文件。

现在我想定时清理最底层目录下的文件,该怎么办?还要占用比较少的cpu!!!着非常重要!所以我使用了sleep,曾经使用过nice但是没效果。
调试了好久都通不过!!

有没有更好的解决方案和程序?!

论坛徽章:
0
2 [报告]
发表于 2004-06-03 18:42 |只看该作者

求助:遍历目录树,然后删除最底层目录。

删除最地层目录

  1. for i in *;do
  2.         [[ -d $i ]]&&rm -rf $(find $i -type d -depth|sed -n 1p)
  3. done
复制代码

论坛徽章:
0
3 [报告]
发表于 2004-06-03 18:54 |只看该作者

求助:遍历目录树,然后删除最底层目录。

的确可以利用find的depth选项,只不过bjgirl可能默认为一个目录里面只会出现一个底层目录,很可能会出现遗漏。
find . -depth -type d -print |awk ' BEGIN {l=0} {if (l ~ $0) continue ;else print $0;l=$0 }' temp
这样复杂一些,不过会把所有底层目录穷举出来。
不过我没有用rm命令加上,可以用xargs构造,另外find的起始目录望你自己指定。

论坛徽章:
0
4 [报告]
发表于 2004-06-03 19:47 |只看该作者

求助:遍历目录树,然后删除最底层目录。

原帖由 "zhangjoto" 发表:
的确可以利用find的depth选项,只不过bjgirl可能默认为一个目录里面只会出现一个底层目录,很可能会出现遗漏。
find . -depth -type d -print |awk ' BEGIN {l=0} {if (l ~ $0) continue ;else print $0;l=$0 }' te..........

谢谢指教@_@

论坛徽章:
0
5 [报告]
发表于 2004-06-03 20:53 |只看该作者

求助:遍历目录树,然后删除最底层目录。

呵呵,指教当不起,我觉得你只是思维上出现了死角吧。
BJGIRL在CU里也算是知名人物了,,我只是个潜水员而已。。。

要学的东西还多,呵呵

论坛徽章:
0
6 [报告]
发表于 2004-06-04 00:06 |只看该作者

求助:遍历目录树,然后删除最底层目录。

原帖由 "zhangjoto" 发表:
呵呵,指教当不起,我觉得你只是思维上出现了死角吧。
BJGIRL在CU里也算是知名人物了,,我只是个潜水员而已。。。

要学的东西还多,呵呵

谢谢,我考虑的确实不够

论坛徽章:
0
7 [报告]
发表于 2004-06-04 09:08 |只看该作者

求助:遍历目录树,然后删除最底层目录。

感谢以上两位!由于初学shell,大部分看不懂!研究中。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP