使用 find 查找 8 月份修改的文件

使用 find 查找 8 月份修改的文件

我需要查找 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表示持续时间的开始和结束。然后,您可以使用findwith-newer选项。详细答案是这里

相关内容