使用-exec和-mtime运行“find”命令时参数无效

非常奇怪的错误消息出现在Centos上。

我试图运行这个命令:

find /tmp/something -type f -mtime +2h -exec cp '{}' /tmp/target \; 

和我得到的错误:

 find: invalid argument `-exec' to `-mtime' 

其他发行版可以“发现”不同吗?

-mtime用了几天,如果你需要2个小时检查一下:

 find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \; 

mmin指定分钟数,因此-mmin +120将过滤超过120分钟前的时间(2小时)。 从手册:

-mtime n

文件数据是在n * 24小时前最后修改的。 查看-atime的注释以了解四舍五入是如何影响文件修改时间的解释的。

-mmin n

文件数据是在n分钟前最后修改的。

MacOS上的find实现与Linux上的可用实现稍有不同。 我相信你在Linux系统上得到了上面的错误。

在Linux上, mtime只接受+ – 和一个数字。 数字是天数。

对于你想要做的上面你必须使用mmin

 -mmin n File's data was last modified n minutes ago. 

这个命令应该可以在Linux上运行:

 find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;