find指定具体时间参数-newermt

之前在写一个文件处理脚本的时候,需要查找在某个具体时间段内生成的批量文件,第一时间想到的是"find -mtime",但是这种查找的时间单位是天,怎么精确到分钟呢?或者说按照时间戳去查找?这就需要使用"-newermt"

1."-newermt"参数

find /dir1 -type f -newermt '2018-5-26 21:00' ! -newermt '2018-5-26 22:00' -exec cp {} /dir2 \;
#将/dir1目录下2018-5-26 21:00到2018-5-26 22:00时间段内修改或生成的文件拷贝到/dir2目录下

该参数中的m其实就表示mtime,t表示绝对时间,那同样还存在:-newerat、-newerct

注意:
在使用过程中发现,可能出现这样的错误提示 find: I cannot figure out how to interpret \'2018-05-26' as a date or time
出现这样的问题,一般是因为系统版本低或者在脚本中使用缺少执行环境造成的,可以将单条命令调整为:

cmd="find /dir1 -type f -newermt '2018-5-26 21:00' ! -newermt '2018-5-26 22:00' -exec cp {} /dir2 \;"
echo $cmd | sh

2."-atime"、"-ctime"、"-mtime"参数
回忆一下这三个参数的使用方法:

-atime:访问时间,文件被读取或执行的时间。
-ctime:属性改变时间,文件的inode被修改的时间
-mtime:内容修改时间

参数后面会跟上具体的数字:

-1:24小时之内操作过的
1:24小时之外,48小时之内操作过的
+1:48小时之外操作过的
#这三种时间没有交集

转载于:https://blog.51cto.com/fengjicheng/2120676

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值