Chinaunix首页 | 论坛 | 博客
  • 博客访问: 35391
  • 博文数量: 6
  • 博客积分: 156
  • 博客等级: 入伍新兵
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-05 11:12
文章分类

全部博文(6)

文章存档

2012年(6)

我的朋友

分类: LINUX

2012-12-13 17:36:21

今天遇到这个情况,在Linux下需要批量删除指定目录下30天前生成的文件夹下所有的文件,我是这样操作的:

  1. $find . -mtime +30 -type d -name "20*" -exec rm -rf {} \;  #需要删除的文件夹以yyyymmdd命名
  2. find: `/ftpdata/zhzydata/112data/20120929': No such file or directory
  3. find: `/ftpdata/zhzydata/112data/20121013': No such file or directory
  4. find: `/ftpdata/zhzydata/112data/20121012': No such file or directory
  5. find: `/ftpdata/zhzydata/112data/20121010': No such file or directory
  6. find: `/ftpdata/zhzydata/112data/20120930': No such file or directory
执行前确认过,报错中显示的几个文件夹确实存在。执行该命令后,这些文件夹也删除了。基本满足要求,就是出现报错信息,不爽。

网上查询一下,发现find命令删除文件或文件夹时,还有另一种通常写法,果断测试一下:

  1. $find . -mtime +30 -type d -name "20*"|xargs rm -rf
呵呵,居然这样就不会报错。
难道是find命令上的一个bug,希望有哪位大牛分析分析。
阅读(3793) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~