2

我正在尝试查找给定文件夹中在特定时间范围内(例如 5 到 15 分钟前)修改过的所有文件。

目前,我可以使用 find -cmin 找到 15 分钟前修改过的任何内容

#!/bin/bash

minutes="15"

FILETYPES=`find . *PATTERN*.txt* -maxdepth 0 -type f -cmin -$minutes`

我如何给它一个时间框架?

4

2 回答 2

12

试试这个 :

find . -name '*pattern.txt' -maxdepth 1 -type f \( -mmin -15 -a -mmin +5 \)

笔记

  • 括号在这里不是强制性的and : -a,但它是必要的 case with or :-o
  • 始终在模式周围使用单引号以防止通配符的外壳扩展
  • 给出一个模式,使用-name-iname
  • 对于日期/小时,-mmin是几分钟和-mtime几天的方式。
于 2013-08-15T19:30:17.707 回答
2

使用find,您可以添加其他条件来创建范围。除非使用,否则每个条件都暗示为“和” -o。您还想要-mmin代替-cmin修改时间(但它们通常是相同的)。

find . '*PATTERN*.txt*' -maxdepth 0 -type f -mmin -15 -mmin +5
于 2013-08-15T19:30:10.120 回答