Я должен удалить все файлы, более старые, чем 5 дней во всех подпапках, но не самих папках. Я знаю команду:
find /path/to/files* -mtime +5 -exec rm {} \;
Но как я могу сказать Ubuntu регистрироваться во всех подпапках, уже никогда не удаляйте сами папки. Мне будет нужен-maxdepth 5 где-нибудь?
Спасибо.
В первую очередь, не давайте шарик find
(никакой files*
), просто давайте ему родительский каталог (/path/to/
). Это будет иметь дело с рекурсивным вызовом в него и нахождением всех файлов. Затем, rm
никогда не будет удалять каталоги, таким образом, Вы не должны волноваться об этом также. Однако, самый простой путь:
find /path/to/ -type f -mtime +5 -delete
Примечание -type f
, который говорит find
только смотреть на файлы и -delete
, который, ну, в общем, удаляет их. Это более эффективно, чем вызов отдельного rm
для каждого результата.
Можно также использовать
find /path/to -type f -mtime 5+ -exec rm {} \;