我想获得一个shell命令来查找昨天修改日期的文件 - 仅限24小时。这意味着我想找到昨天修改过的文件。
答案 0 :(得分:1)
使用find mtime
和daystart
,它会在1 * 24小时前找到修改过的文件,从午夜(daystart)开始计算:
find dir -daystart -mtime 1
答案 1 :(得分:1)
此答案假设您拥有GNU date
和find
。它还假定如果您在2016-07-14任何时候运行脚本,您希望在2016-07-13T00:00:00或之后以及2016-07-14T00:00:00之前或之后修改文件。
如果这些假设是正确的,那么您可以使用:
find . -newermt "$(date -d yesterday +'%Y-%m-%d 00:00:00')" \
'!' -newermt "$(date -d today +'%Y-%m-%d 00:00:00')"
第一个命令替换生成(在2016-07-14)输出2016-07-13 00:00:00
和第二个2016-07-14 00:00:00
。获得正确结果不需要-d today
,但显示对称性。
整体情况意味着在昨天上午午夜或之后进行了修改,并且从今天午夜开始就没有修改过。&#39。
在没有GNU date
的系统上更难以评估不同的日期。
有关使用-mtime
无法满足假设要求的原因的信息,请参阅Explaining find -mtime
command。