Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239084
  • 博文数量: 37
  • 博客积分: 325
  • 博客等级: 一等列兵
  • 技术积分: 1199
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-09 00:04
个人简介

坚持原创,虽然有些东西很简单,但也算是一种积累。

文章分类

全部博文(37)

文章存档

2013年(28)

2012年(9)

我的朋友

分类: Python/Ruby

2012-11-20 18:08:29

有一朋友遇到一问题。需要帮忙删除文件。 目录结构为  ip/年份/月份,每个人都有一份这样的目录现需要删除2012年以前的所有文件,2012年以后的删除特定月份。

本来想用find  结果发现这些文件time(a,m,c) 记录已经不是当初生成的。没办法只好想了个土办法去遍历。应该有更好的办可以遍历。如果有请告知。

#!/bin/bash
cd /home/wanggy/rmfile/
ls  -l | grep ^d | awk '{print $NF}'  >/home/wanggy/tmp
cat /home/wanggy/tmp  |while  read dir1
  do
    cd $dir1
    echo "第一级目录 $dir1"
    ls  -l | grep ^d | awk '{print $NF}'  >/home/wanggy/tmp1
    cat /home/wanggy/tmp1  |while read dir2
         do
            echo "二级目录 $dir2"
            cd $dir2
               #对大于2012年的目录再判断,小于则直接删除。
               if [ $dir2 -gt 2011 ];then
                  ls  -l | grep ^d | awk '{print $NF}'  >/home/wanggy/tmp2
                  cat /home/wanggy/tmp2 |while read dir3
                      do
                         #9月份之前的删除"
                         if [ $dir3 -lt 09 ];then
                              rm -rf $dir3
                         fi
                      done
               else
                  echo "删除2012前的目录:$dir2"
                  rm -rf $dir2
             fi
                 #返回上一级
                 cd ..
        done
             #返回上一级
     cd ..
 done

 



 

阅读(1500) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~