我已经尝试过了:
if find filename -mmin +60; then echo banana; fi
但它似乎不起作用:在任何情况下,它都会呼应香蕉。
仅当文件时间超过60分钟时,我才能如何回声香蕉?
答案 0 :(得分:0)
将上面的注释转换为答案:find
仅在发生处理错误时给出非零的退出代码;即使您的条件不满足,运行仍将成功。您需要计算该文件的find输出行,如果为1,则满足您的条件(如果您要扫描的目录中只有一个同名文件,则将-eq
更改为{{1} }。
-ge
答案 1 :(得分:0)
您可以同时使用stat
和date
:
((($(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