免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3662 | 回复: 11
打印 上一主题 下一主题

如何按照文件生成日期批量删除 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-14 12:30 |只看该作者 |倒序浏览
linux下如何按照文件日期批量删除,用awk直接时间
比如:
$ls -l
-r-r-r  1  root  sys   289  jun 10 2008  aaa.log
-r-r-r  1  root  sys   289  jun 10 2008  bbb.log
-r-r-r  1  root  sys   289  jun 10 2009  bbb.log

现在我想把2008年的文件直接删除,如何用awk直接写? 我写了半天语法不对

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
2 [报告]
发表于 2009-07-14 12:47 |只看该作者
还是考虑用find吧,用awk的话因为ls -l输出的列不好确定处理起来比较麻烦

论坛徽章:
0
3 [报告]
发表于 2009-07-14 14:01 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2009-07-14 14:12 |只看该作者

  1. find -type f -printf "%AY %p\n" | awk '$1==2008{system("rm -f "$2)}'
复制代码

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-01-24 06:20:00
5 [报告]
发表于 2009-07-14 15:19 |只看该作者
原帖由 kwokcn 于 2009-7-14 14:12 发表

find -type f -printf "%AY %p\n" | awk '$1==2008{system("rm -f "$2)}'


学习find的-printf选项的用法

刚刚man了下,是不是这个%AY改为%TY更好点?

论坛徽章:
0
6 [报告]
发表于 2009-07-14 15:24 |只看该作者

回复 #5 Minsic 的帖子


谢指正。

论坛徽章:
0
7 [报告]
发表于 2009-07-14 16:59 |只看该作者
原帖由 112233yxl 于 2009-7-14 14:01 发表
find . -type f -mtime +XXX | xargs rm -f
我一直都这么干!



find . -type f -mtime +xxx -exec rm -f {} \;

我喜欢这样的

论坛徽章:
0
8 [报告]
发表于 2009-07-14 17:21 |只看该作者

回复 #7 welcome008 的帖子

楼主的想法是删除08年的文件,用mtime不是很合适。

论坛徽章:
0
9 [报告]
发表于 2009-07-14 17:31 |只看该作者
原帖由 kwokcn 于 2009-7-14 17:21 发表
楼主的想法是删除08年的文件,用mtime不是很合适。


+mtime -mtime

可以吗?

没试过,呵呵

论坛徽章:
0
10 [报告]
发表于 2009-07-14 17:38 |只看该作者

回复 #9 welcome008 的帖子

那反而复杂了……得算一算,过几天又得算…… >_<
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP