Использование 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";
2 ответа
Вы могли бы что-то с -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
вариант. Подробный ответ здесь.