shell遍历目录处理特定目录的脚本代码

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

需求:删除文件,目录结构为: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

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容