我在linux上,试图找出find命令一段时间才能列出在一定的天数前24小时内修改的目录,但我不能得到它的工作。 除此之外,我尝试过:
find -type d -mtime +1 -mtime -2
但是它返回0个匹配,而find -type d -mtime +1给出16721个匹配,而find -type d -mtime -2给出120个匹配。 我应该得到50-60场比赛。
我也尝试了-a选项之间的AND ,但没有区别。
-mtime选项的参数有点违反直觉。 基本上,你要求的是“让我看看比两天前更早,比两天前更年轻的东西”……“+”选项有些不可思议(来自find (1)):
当find数字显示上次访问文件的时间是24小时以前,任何小数部分都会被忽略,所以要匹配-atime +1,必须至less在两天前访问文件。
对于单个date范围,您可以使用-mtime 2 ,否则我build议使用-mmin和一些shellalgorithm来获取您想要去的地方。
我会使用一个脚本:
STARTTIMEFILE=`mktemp` || exit 1 touch -d '2009-10-01 00:00' "$STARTTIMEFILE" || exit 1 ENDTIMEFILE=`mktemp` || exit 1 touch -d '2009-11-01 00:00' "$ENDTIMEFILE" || exit 1 find . -newer "$STARTTIMEFILE" -and -not -newer "$ENDTIMEFILE" -ls rm -f "$STARTTIMEFILE" "$ENDTIMEFILE"
比“时间”更容易理解。