首页 > 解决方案 > 查找一个时间范围内的文件加上一个附加文件

问题描述

我需要在一个时间范围内获取一些文件,再加上一个文件,使用像“find”这样的 Linux 板工具。

让我举个例子:我需要在“2018-06-06 10:27:24”和“2018-06-06 16:43:47”之间修改的所有文件以及在该时间戳之后创建的一个文件。我的问题是。我只得到关于这两个时间戳的信息,并且可以随时创建在第二个时间戳之后创建的下一个文件。第二个时间戳后一分钟或一周。

我最优雅的尝试是这样的:

find /FOLDER -name "*MYPATTERN*" -newermt "2018-06-06 10:27:24" ! -newermt "2018-06-06 16:43:47"

但是有了这个解决方案,没有额外的文件,到目前为止我找不到一个好的解决方案。

最好的问候

标签: linuxbash

解决方案


也许分两步

$ find ... -newermt "{latest_timestamp}" -printf "%TY%Tm%Td%TH%TM%TS\t%p\n" | 
  sort -nr | awk -F'\t' '{print $2; exit}'

将为您提供一个在 latest_timestamp 之后更新的文件。

或者,不要手动将日期/时间设置为可数字排序,只需%@T按照@Socowi 在评论中的建议使用。


推荐阅读