Bash 查找在一天中的特定时间创建的文件

Bash 查找在一天中的特定时间创建的文件,bash,unix,Bash,Unix,我需要使用bash中的find命令来搜索在一天中特定时间创建的文件, 例如,在12:00和12:59之间创建的文件。有办法吗? 这就是我试图使用的代码: num2=$((num+1)) min1=$((num * 60)) min2=$((num2 * 60)) find . -path '.' -cmin +$min1 -cmin -$min2 -ls 其中num变量由用户指定。 我还是个初学者,无法理解。您可以使用这个特定的find命令: 使用变量: start_time=12:00 st

我需要使用bash中的find命令来搜索在一天中特定时间创建的文件, 例如,在12:00和12:59之间创建的文件。有办法吗? 这就是我试图使用的代码:

num2=$((num+1))
min1=$((num * 60))
min2=$((num2 * 60))
find . -path '.' -cmin +$min1 -cmin -$min2 -ls
其中num变量由用户指定。 我还是个初学者,无法理解。

您可以使用这个特定的find命令:

使用变量:

start_time=12:00 stop_time=13:00 date=$(date +%Y-%m-%d)
find . -type f -newermt "$date $start_time" ! -newermt "$date $stop_time" -ls
FreeBSD兼容,甚至2011 7.4版

man find的相关部分:

-新参考 如果正在考虑的文件的时间戳X比文件引用的时间戳Y新,则成功。字母X和Y 可以是以下任一字母:

a文件引用的访问时间 B文件引用的出生时间 c参考的索引节点状态更改时间 m文件引用的修改时间 t参考直接解释为时间

有些组合是无效的;例如,X表示t是无效的。某些组合并非在所有系统上实施;例如,并非所有系统都支持B。 如果指定的XY组合无效或不受支持,则会出现致命错误 错误结果。时间规范被解释为GNU date的-d选项的参数。如果尝试使用引用文件的出生时间,但无法确定出生时间,则会出现致命错误消息。 如果指定的测试引用正在检查的文件的出生时间,则对于出生时间未知的任何文件,此测试都将失败

您可以使用此特定的“查找”命令:

使用变量:

start_time=12:00 stop_time=13:00 date=$(date +%Y-%m-%d)
find . -type f -newermt "$date $start_time" ! -newermt "$date $stop_time" -ls
FreeBSD兼容,甚至2011 7.4版

man find的相关部分:

-新参考 如果正在考虑的文件的时间戳X比文件引用的时间戳Y新,则成功。字母X和Y 可以是以下任一字母:

a文件引用的访问时间 B文件引用的出生时间 c参考的索引节点状态更改时间 m文件引用的修改时间 t参考直接解释为时间

有些组合是无效的;例如,X表示t是无效的。某些组合并非在所有系统上实施;例如,并非所有系统都支持B。 如果指定的XY组合无效或不受支持,则会出现致命错误 错误结果。时间规范被解释为GNU date的-d选项的参数。如果尝试使用引用文件的出生时间,但无法确定出生时间,则会出现致命错误消息。 如果指定的测试引用正在检查的文件的出生时间,则对于出生时间未知的任何文件,此测试都将失败


哇!我在GNU find 4.7.0上,-newermt既不在手册页中也不在-help中列出-但它仍然有效!不,那是因为你必须找到匹配的人。最后2个字符必须在列表中选择。我在GNU find 4.7.0上,-newermt既不在手册页中也不在-help中列出-但它仍然有效!不,那是因为你必须找到匹配的人。必须在列表中选择最后2个字符