知道文件夹中的最后一个文件是否早于1小时

时间:2019-03-05 15:30:08

标签: linux bash time

我已经尝试过了:

if find filename -mmin +60; then echo banana; fi

但它似乎不起作用:在任何情况下,它都会呼应香蕉。

仅当文件时间超过60分钟时,我才能如何回声香蕉?

3 个答案:

答案 0 :(得分:0)

将上面的注释转换为答案:find仅在发生处理错误时给出非零的退出代码;即使您的条件不满足,运行仍将成功。您需要计算该文件的find输出行,如果为1,则满足您的条件(如果您要扫描的目录中只有一个同名文件,则将-eq更改为{{1} }。

-ge

答案 1 :(得分:0)

您可以同时使用statdate

((($(date +%s) - $(stat -c +%X file)) < 3600)) && echo banana

date +%s以纪元格式给出当前时间。

stat -c +%X以相同的格式给出文件filename的最后访问时间。分别使用%W%Y之类的其他选项作为出生和修改时间。

答案 2 :(得分:0)

尝试

find filename -mmin +60 -printf 'banana\n' -quit