aix下的shell脚本。 同一类文件,只保留最近时间的一份,其余删除
现在系统会定时产生一类文件。以XM_序列号_时间(2013041610025746040).zip文件格式。序列号一样的文件会很多,但产生的时间即上述的时间会不一样,现在...
现在系统会定时产生一类文件。以XM_序列号_时间(2013041610025746040).zip文件格式。
序列号一样的文件会很多,但产生的时间即上述的时间会不一样,现在我想只保留最近的一份文件,请问该如何撰写脚本。序列号非常多,脚本能够自动去对每一个序列号进行操作 只保留最近的一份,请大侠帮帮忙 展开
序列号一样的文件会很多,但产生的时间即上述的时间会不一样,现在我想只保留最近的一份文件,请问该如何撰写脚本。序列号非常多,脚本能够自动去对每一个序列号进行操作 只保留最近的一份,请大侠帮帮忙 展开
2个回答
展开全部
测试过了有点小问题,已经修改!
dir=dir_name #注意修改这里的文件夹名
cd $dir
ls XM_*_*.zip > temp1
cut -d . -f 1 temp1 >temp2 #去后缀名
sort -t _ -k 2n -k 3nr temp2 >temp3 #先按序列号再按时间排序
sort -t _ -k 2n -u temp3 >temp4
#这行是重点,-u选项是删除后续序列号重复的行在前一步已经将文件按时间排序,所以这行执行后就是需要保留的文件名
#本来这一步就差不多了,考虑到系统会定时产生文件,所以要把需要删除的文件名弄出来
grep -F -v -f temp4 temp3 >temp5 #求文件差集,temp3-temp4
cat temp5 | awk '{print $1".zip"}' | xargs rm -f #可以删除了 大功告成(测试的时候先把这行注释掉,看下几个temp文件是否是符合要求的我没测试)
rm -f temp* #最后把temp文件删除(测试的时候也要注释)
快又稳
2024-10-28 广告
2024-10-28 广告
在Linux环境下配置基于域名的虚拟主机,需安装Apache或Nginx等Web服务器,并编辑配置文件。以Apache为例,需创建虚拟主机配置文件,指定域名、文档根目录等,然后启用该配置文件并重启Apache服务。同样,Nginx也需在相应...
点击进入详情页
本回答由快又稳提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询