求教awk从文件名抓出日期
时间:2011-05-30
来源:互联网
- 2011_05_22_db.tar.gz
- 2011_05_23_db.tar.gz
- 2011_05_24_db.tar.gz
- 2011_05_25_db.tar.gz
- 2011_05_26_db.tar.gz
- 2011_05_27_db.tar.gz
- .........
然后只保留7天的数据库备份...
ps:只由文件名内包含的信息来确定日期
求教各位高手
作者: chiyiangel 发布时间: 2011-05-30
作者: waker 发布时间: 2011-05-30
我想用的是awk抓出日期 然后只保留7天内的备份文件 删除其他的... 请问这个脚本该如何写
作者: chiyiangel 发布时间: 2011-05-30
- ls -l | cut -d . -f 1 | tail -7
作者: liion631818 发布时间: 2011-05-30
作者: zooyo 发布时间: 2011-05-30
非常感谢这位大哥 但是现在有个问题 我目录下不光有这些数据备份文件 还有些其他的文件
作者: chiyiangel 发布时间: 2011-05-30
非常感谢 但是因为里面有些文件的mtime 和 文件名上标注的日期不一定一样 所以肯定要用awk 自己从文件名中提取时间戳
作者: chiyiangel 发布时间: 2011-05-30
给你的脚本只能获取最后7天的文件,不能删除啊,貌似不能满足你的要求,你还是看看上面大牛们给你的回复吧
- ls -1 2011* | cut -d . -f 1 | tail -7
作者: liion631818 发布时间: 2011-05-30
回复 chiyiangel
awk(已测试)
- $ awk 'BEGIN{"date +%Y%m%d -d \"7 days ago\""|getline f_d; while (("ls *.gz"|getline f_name)>0) {f=gensub(/(....)_(..)_(..).*/,"\\1\\2\\3",1,f_name);if(f<f_d) {system("rm " f_name)}}}'
作者: yinyuemi 发布时间: 2011-05-30
你先把你那一系列文件怎样获取,或者有什么规则列出来,不然怎样知道哪些文件是你需要的,哪些是需要删除的
作者: liion631818 发布时间: 2011-05-30
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28