Назад | Перейти на главную страницу

Использование find для поиска файлов, измененных в августе

Мне нужно найти файлы, измененные в августе. Вот моя часть команды, которая сокращает время модификации. Это работает, но, похоже, не хватает некоторых файлов. Я предполагаю, что это недостающие файлы, измененные за определенный час или час (ы), потому что числа меняются в зависимости от того, в какую часть дня я запускаю этот скрипт. Я смотрю на -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";

Вы могли бы что-нибудь с -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

Вы можете создать два файла, используя touch -t представляющий начало и конец вашей продолжительности. Затем вы можете использовать find с участием -newer вариант. Подробный ответ Вот.