Первая записка
В файловых системах unix у вас нет информации о времени создания файла.
То, что часто называют ctime, - это время изменения статуса файла.
Это может быть изменено путем переименования файла или изменения прав доступа.
Смотрите эту ссылку для получения дополнительной информации.
Так что имейте в виду, что следующее решение может быть неудачным.
Решение с помощью awk
find
нет оператора для выбора специальной даты. Таким образом, хитрость заключается в том, чтобы создать вывод с указанием дня месяца и имени файла с использованием разделителя, который не является частью имен файлов.
Я предполагаю, что #
такой возможный разделитель символов.
find . -mtime +30 -printf "%Cd#%p\n"
На втором этапе вы можете отфильтровать ненужные файлы.
find . -mtime +30 -printf '%Cd#%p\n' |awk -F'#' '$1 !~ /^01/{print $2;}'
Решение с помощью grep
и cut
Делаем тот же трюк, что и выше.
find . -mtime +30 -printf '%Cd#%p\n' |grep -v '^01' |cut -d '#' -f 2