-newerXY reference
将当前文件的时间戳与参考进行比较。引用参数通常是文件的名称(其中一个时间戳用于比较),但它也可能是描述绝对时间的字符串。X 和 Y 是其他字母的占位符,这些字母选择属于哪个时间的参考用于比较。
a The access time of the file reference
B The birth time of the file reference
c The inode status change time of reference
m The modification time of the file reference
t reference is interpreted directly as a time
# create 'some_file' having a creation date of 16 Mar 2010:
touch -t 201003160120 some_file
# find all files created after this date
find . -newer some_file
男人触摸:
-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time
不,您可以使用日期/时间字符串。
来自
man find
:例子:
与问题没有直接关系,但对于在这里偶然发现的一些人来说可能很有趣。
find命令不直接支持 -older 参数来查找早于某个所需日期的文件,但您可以使用否定语句(使用接受的答案示例):
将返回早于提供日期的文件。
如果您只有“-newer 文件”,则可以使用此解决方法:
男人触摸:
假设你的 touch 有这个选项(我的是 touch 5.97)。
此查找命令将查找最近 20 天内修改的文件。
您可以添加其他限制,例如:
和以前一样,但只查找以“.txt”结尾的文件。
只是补充一下-您甚至可以使用两个 newermt 参数在时间间隔内进行搜索:
查找 2007 年 3 月以来的所有文件。
像这样:
这将为您提供当前目录中早于 01-01-2015 的文件。
https://muzaffarmahmoodblog.wordpress.com/2019/07/11/linux-command-to-remove-files-older-than-2015-in-a-directory/
你可以使用这样的脚本
将它保存在您的 $PATH 中作为“newerthan”并使其可执行。
然后你可以找到在某个日期之后修改的文件,如下所示:
或者
或者
那应该做你想做的事。我认为没有内置的方法可以实现这一目标。
如果您的日期的格式可以进行比较,
是这个问题的正确答案(查找过去 20 天之前修改的文件)。