需要查找15到5分钟前修改过的文件

时间:2013-08-15 19:24:32

标签: bash scripting find

我正在尝试查找给定文件夹中的所有文件,这些文件在特定的时间范围内修改,比如5到15分钟之前。

目前我可以通过使用find -cmin

找到最多15分钟前修改过的内容
#!/bin/bash

minutes="15"

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

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

2 个答案:

答案 0 :(得分:11)

试试这个:

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

注释

  • 此处的括号不一定是-a,但对于-o
  • 的情况是必要的
  • 始终在模式周围使用单引号以防止shell扩展通配符
  • 要提供模式,请使用-name-iname
  • 表示日期/小时,-mmin是分钟和-mtime天的方式。

答案 1 :(得分:2)

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

find . '*PATTERN*.txt*' -maxdepth 0 -type f -mmin -15 -mmin +5