shell遍历目录处理特定目录的脚本代码
shell遍历目录处理特定目录的脚本代码
发布时间:2016-12-28 来源:查字典编辑
摘要:需求:删除文件,目录结构为:ip/年份/月份,每个人都有一份这样的目录现需要删除2012年以前的所有文件,2012年以后的删除特定月份。本来...

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新linuxshell学习
热门linuxshell学习
脚本专栏子分类