ITPub博客

首页 > 数据库 > Oracle > [20210708]find -mtime +0 0 -0时间问题补充.txt

[20210708]find -mtime +0 0 -0时间问题补充.txt

原创 Oracle 作者:lfree 时间:2021-07-08 08:52:16 0 删除 编辑

[20210708]find -mtime +0 0 -0时间问题补充.txt

--//补充find -mtime +0 0 -0时间的测试,估计很少人这样写,实际上大部分人对于find find -mtime +N N -N的理解是错误的。
find -mtime +N 表示 小于 <当前时间-(N+1)天 .
find -mtime  N 表示 在  >=当前时间-(N+1)天 <当前时间-(N)天 之间.
find -mtime -N 表示 大于 >=当前时间-(N)天.

--//换一句话+0 0 -0 表示:
find -mtime +0 表示 小于 <当前时间-(1)天 .
find -mtime  0 表示 在  >=当前时间-(1)天 <当前时间-(0)天 之间.
find -mtime -0 表示 大于 >=当前时间-(0)天.

--//为了加强记忆,测试看看:

$ mkdir aaa
$ cd aaa

$ date "+%Y%m%d%H%M.%S.%N";seq -2 1 2 | xargs -IQ  date "+%Y%m%d%H%M.%S" --date='Q seconds'
202107080833.13.286667115
202107080833.11
202107080833.12
202107080833.13
202107080833.14
202107080833.15

--//可以发现排序文件后中间的时间表示当时执行命令的时间(注意不看年月日),注:可能存在小量的误差,假设执行很快的情况。
--//如果我在windows下使用cygwin模拟器,执行很慢,就存在这个误差。

$ seq -2 1 2 | xargs -IQ  date "+%Y%m%d%H%M.%S" --date='1 day ago Q seconds' | xargs -IQ touch -t Q Q ; find . -name "2021*" -mtime +0 -exec ls -ltr {} \+; echo ======  ; ls -ltr ; rm -f 2021*
-rw-r--r-- 1 oracle oinstall 0 Jul  7 08:36 ./202107070836.20
-rw-r--r-- 1 oracle oinstall 0 Jul  7 08:36 ./202107070836.21
======
total 0
-rw-r--r-- 1 oracle oinstall 0 2021-07-07 08:36:20 202107070836.20
-rw-r--r-- 1 oracle oinstall 0 2021-07-07 08:36:21 202107070836.21
-rw-r--r-- 1 oracle oinstall 0 2021-07-07 08:36:22 202107070836.22
-rw-r--r-- 1 oracle oinstall 0 2021-07-07 08:36:23 202107070836.23
-rw-r--r-- 1 oracle oinstall 0 2021-07-07 08:36:24 202107070836.24

--//执行时的当前时间是2021-07-08 08:36:22.注意我显示的日期是--date='1 day ago Q seconds'
--//find . -name "2021*" -mtime +0
--//实际上显示的是 小于 当前时间-1天的文件.

--//后面的测试不再说明了,大家自己看.
$ seq -2 1 2 | xargs -IQ  date "+%Y%m%d%H%M.%S" --date='1 day ago Q seconds' | xargs -IQ touch -t Q Q ; find . -name "2021*" -mtime 0 -exec ls -ltr {} \+; echo ======  ; ls -ltr ; rm -f 2021*
-rw-r--r-- 1 oracle oinstall 0 Jul  7 08:38 ./202107070838.24
-rw-r--r-- 1 oracle oinstall 0 Jul  7 08:38 ./202107070838.25
-rw-r--r-- 1 oracle oinstall 0 Jul  7 08:38 ./202107070838.26
======
total 0
-rw-r--r-- 1 oracle oinstall 0 2021-07-07 08:38:22 202107070838.22
-rw-r--r-- 1 oracle oinstall 0 2021-07-07 08:38:23 202107070838.23
-rw-r--r-- 1 oracle oinstall 0 2021-07-07 08:38:24 202107070838.24
-rw-r--r-- 1 oracle oinstall 0 2021-07-07 08:38:25 202107070838.25
-rw-r--r-- 1 oracle oinstall 0 2021-07-07 08:38:26 202107070838.26
--// 注意日期显示--date='1 day ago Q seconds'.

$ seq -2 1 2 | xargs -IQ  date "+%Y%m%d%H%M.%S" --date='0 day ago Q seconds' | xargs -IQ touch -t Q Q ; find . -name "2021*" -mtime 0 -exec ls -ltr {} \+; echo ======  ; ls -ltr ; rm -f 2021*
-rw-r--r-- 1 oracle oinstall 0 Jul  8 08:40 ./202107080840.42
-rw-r--r-- 1 oracle oinstall 0 Jul  8 08:40 ./202107080840.43
======
total 0
-rw-r--r-- 1 oracle oinstall 0 2021-07-08 08:40:42 202107080840.42
-rw-r--r-- 1 oracle oinstall 0 2021-07-08 08:40:43 202107080840.43
-rw-r--r-- 1 oracle oinstall 0 2021-07-08 08:40:44 202107080840.44
-rw-r--r-- 1 oracle oinstall 0 2021-07-08 08:40:45 202107080840.45
-rw-r--r-- 1 oracle oinstall 0 2021-07-08 08:40:46 202107080840.46
--// 注意日期显示--date='0 day ago Q seconds'. 输入--date='Q seconds'.也是一样的.

$ seq -2 1 2 | xargs -IQ  date "+%Y%m%d%H%M.%S" --date='Q seconds' | xargs -IQ touch -t Q Q ; find . -name "2021*" -mtime -0 -exec ls -ltr {} \+; echo ======  ; ls -ltr ; rm -f 2021*
-rw-r--r-- 1 oracle oinstall 0 Jul  8 08:42 ./202107080842.23
-rw-r--r-- 1 oracle oinstall 0 Jul  8  2021 ./202107080842.24
-rw-r--r-- 1 oracle oinstall 0 Jul  8  2021 ./202107080842.25
======
total 0
-rw-r--r-- 1 oracle oinstall 0 2021-07-08 08:42:21 202107080842.21
-rw-r--r-- 1 oracle oinstall 0 2021-07-08 08:42:22 202107080842.22
-rw-r--r-- 1 oracle oinstall 0 2021-07-08 08:42:23 202107080842.23
-rw-r--r-- 1 oracle oinstall 0 2021-07-08 08:42:24 202107080842.24
-rw-r--r-- 1 oracle oinstall 0 2021-07-08 08:42:25 202107080842.25


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2780229/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    3005
  • 访问量
    6760150