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