find умеет фильтровать по времени, размеру и типу — не только по имени.
# файлы старше 7 дней
find /var/log -name "*.log" -mtime +7
# файлы больше 100 МБ
find /home -size +100M
# выполнить команду над каждым файлом
find . -name "*.bak" -exec rm {} \;
# безопасно для имён с пробелами
find . -name "*.tmp" -print0 | xargs -0 rm
# исключить директорию
find /etc -not -path "*/systemd/*" -name "*.conf"
-mtime -7 — моложе 7 дней, +7 — старше. -exec вызывает команду для каждого файла отдельно; xargs быстрее на больших наборах. -not работает с любым предикатом.
#linux #bash #sysadmin
