【问题标题】:Find and list files from last 3-days starting from midnight of first day [duplicate]从第一天的午夜开始查找并列出最近 3 天的文件 [重复]
【发布时间】:2020-12-30 02:58:54
【问题描述】:

请协助,我正在尝试从最近 3 天的第一天午夜开始在目录中列出最近 3 天的文件。到目前为止,我创建了这个“find ./* -type f -mtime -3 -exec ls {};”这只会将数据从当前时间拉到 - 3 天。它没有从第一天的午夜开始获取数据。我需要从午夜到今天的过去 3 天的数据。

请帮忙。 谢谢

【问题讨论】:

  • 您正在寻找 -daystart 谓词。
  • 无论是谁将其作为 dup 关闭,-daystart 选项都不会出现在所有版本的 find 中。

标签: shell find


【解决方案1】:

您可以触摸要使用的最早日期的文件。然后使用 find 的 -newer 选项。

touch -t <earliestDate> someTempFile
find . -type f -newer someTempFile -exec ls -l {} \;

如果您在没有选项的情况下执行 ls 并且您被限制为普通文件,则不需要 -exec。

【讨论】:

  • 感谢您的提示,我不想硬编码任何日期。相反,我想从第一天的午夜(即 00:01 等)开始获取最近 3 天的数据。请协助是否有任何方法可以从 00:00 开始使用eralistDate 创建“someTempFile”。
  • 这是我到目前为止所做的。 # touch --date "-3 days" +'%Y-%m-%d %H:%M:%S' someTempFile # find stm* -type f -newer someTempFile -exec ls {} \; > ./myfiles.txt 输出:-rw-rw-r--。 1 user1 user1 23 Dec 27 02:58 someTempFile 问:如果创建 someTempFile 文件戳将是 00:00 而不是 02:58 将解决请求。请协助。谢谢
猜你喜欢
  • 2021-10-24
  • 1970-01-01
  • 2012-03-31
  • 1970-01-01
  • 2020-07-26
  • 2020-09-30
  • 1970-01-01
  • 1970-01-01
  • 2016-02-24
相关资源
最近更新 更多