在一个目录下,有很多文件,
EP035_top_16.01.13.2300.dat EP035_top_16.01.15.1800.dat EP035_top_16.01.17.1300.dat EP035_top_16.01.19.0800.dat
EP035_top_16.01.14.0000.dat EP035_top_16.01.15.1900.dat EP035_top_16.01.17.1400.dat EP035_top_16.01.19.0900.dat
EP035_top_16.01.14.0100.dat EP035_top_16.01.15.2000.dat EP035_top_16.01.17.1500.dat EP035_top_16.01.19.1000.dat
EP035_top_16.01.14.0200.dat EP035_top_16.01.15.2100.dat EP035_top_16.01.17.1600.dat EP035_top_16.01.19.1100.dat
EP035_top_16.01.14.0300.dat EP035_top_16.01.15.2200.dat EP035_top_16.01.17.1700.dat EP035_top_16.01.19.1200.dat
EP035_top_16.01.14.0400.dat EP035_top_16.01.15.2300.dat EP035_top_16.01.17.1800.dat EP035_top_16.01.19.1300.dat
EP035_top_16.01.14.0500.dat EP035_top_16.01.16.0000.dat EP035_top_16.01.17.1900.dat EP035_top_16.01.19.1400.dat
EP035_top_16.01.14.0600.dat EP035_top_16.01.16.0100.dat EP035_top_16.01.17.2000.dat EP035_top_16.01.19.1500.dat
EP035_top_16.01.14.0700.dat EP035_top_16.01.16.0200.dat EP035_top_16.01.17.2100.dat
EP035_top_16.01.14.0800.dat EP035_top_16.01.16.0300.dat EP035_top_16.01.17.2200.dat
EP035_top_16.01.14.0900.dat EP035_top_16.01.16.0400.dat EP035_top_16.01.17.2300.dat
文件的命名格式是 主机名,年。月。日。时分(16.1.14.2200),现在需要把一段时间内的文件提取出来,获取EP035_top_16.01.14.1800.dat 到 EP035_top_16.01.16.2200.dat 期间dat文件,打包压缩成tar.gz文件。写成shell脚本
文件生成时间 和 文件名的时间一致?
如果是 则
1.计算时间段: 输入参数: 起始时间、结束时间,格式:YYMMDD HH:MM 如160114 22:00
date -d"20151229 10:27" +%s 获取秒值
当前时间 - 起/止时间(单位秒数),除以60分别得到最大、最小时间(单位分钟)
2.查找文件
find . -cmin +最小分钟数 -cmin -最大分钟数 -maxdepth 1
3.压缩文件
tar -czvf 压缩名.tgz `find . -cmin +最小分钟数 -cmin -最大分钟数 -maxdepth 1`
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。