我需要查找 8 月份修改的文件。下面是我用来缩小修改时间的命令部分。这个命令有效,但似乎缺少一些文件。我猜这是缺少在给定的一个或多个小时内修改的文件,因为数字会根据我在一天中的哪个时间段运行此脚本而变化。我正在查看参数,-mmin
但不知道该如何准确实现它。我正在寻找在 之间修改的所有文件Aug 1 - 31
。
$dayOfMonth = date("j");
$daysLastMonth = date("t", strtotime('-1 month'));
$secondsSinceMidnight = time() - strtotime('00:00');
$secondsUntilMidnight = (60*60*24) - $secondsSinceMidnight;
$commandAppend = " -name '*.pdf' -mtime -".($dayOfMonth+$daysLastMonth)." -mtime +".($dayOfMonth)." | wc -l";
答案1
-newer
你可以用开关做某事
touch -d "01 AUG 2012" start
touch -d "31 AUG 2012 23:59:59" end
find /path -newer start -not -newer end
它将查找比该文件更新start
但不比该文件更新的文件end
-较新的文件
File was modified more recently than file. If file is a sym- bolic link and the -H option or the -L option is in effect, the modification time of the file it points to is always used.
sudo find /home -newer start | wc -l
41597
sudo find /home -newer start -not -newer end | wc -l
41568
sudo find /home -newer end | wc -l
29
答案2
您可以创建两个文件,分别touch -t
表示持续时间的开始和结束。然后,您可以使用find
with-newer
选项。详细答案是这里。