我想将以下搜索限制为仅修改日期<=“2009-05-29 11:59:00”的文件
find /path -name "*.sb" ! -name "*[^0-9]*.sb" -type f -print
我正在使用 CentOS
答案1
该命令find /path -mtime +7
将为您提供超过 7 天的文件,并将find ! -newer somefile
为您提供比 somefile 更旧的文件。所以...
touch -d "2009-05-29 11:59:00" timestampfile
find /path -name "*.sb" ! -name "*[^0-9]*.sb" ! -newer timestampfile -type f -print
答案2
!-newermt '5/29/2009 23:59:00' 应该可以在 BSD 上运行;GNU 上也会有类似的选项。
答案3
find /path \
-type f \
! -newermt "20090529 1159:00" \
-regex "./[^0-9]*.sb$" \
-print
您可以将命令放在regex
末尾以加快命令速度(将最快的操作放在开始处,将最慢的操作放在末尾)。
答案4
你想要-mdate
查找/路径-名称”.sb" !-名称 "[^0-9]*.sb"-type f-print-mdate-2009-05-30
以下是几个示例:
http://www.softpanorama.org/Tools/Find/selecting_files_by_age.shtml
http://www.schuerig.de/michael/linux/snippets.html