Удалять файлы старше 5 дней, а также во всех подпапках

Мне нужно удалить все файлы старше 5 дней во всех подпапках, но не сами папки. Я знаю команду:

find /path/to/files* -mtime +5 -exec rm {} \;

Но как я могу сообщить Ubuntu о проверке всех подпапок, но никогда не удалять сами папки. Мне понадобится -maxdepth 5 где-нибудь?

Спасибо.

1
задан 4 October 2016 в 11:51

1 ответ

Вы также можете использовать

find /path/to -type f -mtime 5+ -exec rm {} \;
-1
ответ дан 23 May 2018 в 05:31
  • 1
    Отредактированный ответ для использования вложенных папок – Tolga Ozses 4 October 2016 в 13:01
  • 2
    В чем преимущество -exec rm {} \; по сравнению с -delete? Насколько я могу судить, он будет делать то же самое, но медленнее, потому что он порождает новый rm процесс для каждого матча. Вы можете использовать -exec rm {} + для одновременного вызова rm для нескольких файлов, но это еще один файл fork + exec, чем это необходимо. – David Foerster 4 October 2016 в 13:03
  • 3
    Ключевое слово «также». Не знал о производительности. – Tolga Ozses 4 October 2016 в 13:05
  • 4
    Конечно. Вот почему я не голосовал, чтобы удалить ваш ответ, но спросить о его преимуществах. Я все еще думаю, что это субоптимально. – David Foerster 4 October 2016 в 13:06

Другие вопросы по тегам:

Похожие вопросы: