时间:2021-05-22
需求:删除文件,目录结构为: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
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
用shell写的递归遍历目录的脚本,脚本实现递归遍历指定目录,打印目录下的文件名。实例1:复制代码代码如下:#!/bin/shfunctionscandir()
Linux下如何统计当前目录下文件有多少个,目录又有多少个呢?下面用shell写一个脚本,放置在当前目录下,执行即可。复制代码代码如下:#!/bin/bash#
需求描述编写shell脚本实现Linux下不同目录(路径)之间的文件的剪切(移动)操作。其中,文件移动之前所在的目录称为源目录,文件移动之后所在的目录称为目的目
用特定的格式重命名当前目录的图像文件,脚本如下:复制代码代码如下:#!/bin/bash#Filename:rename_photo.shset-xcount=
建立隐藏虚拟目录使用。首先要先在对应WEB目录里建立一个目录。然后利用脚本直接在Shell中创建虚拟目录。仅仅为了方便大家使用。方法如下C:\>mdir.vbs