1

При выполнении команды find на очень большом каталоге я обнаружил , что использование find «s шипов памяти гораздо больше , чем я думаю , что это будет. Мне было очень трудно искать решения из-за перегруженного использования слова "найти";) Это команда:

find /var/dir -size +500k -iname "pattern_*" -mtime +90 -type f -exec rm {} \; -print

Хранит ли find весь список файлов для каталога в памяти при его обработке? Кажется, что он может просто изучить одну запись и двигаться дальше. Каталог, с которым я имею дело, содержит ~ 2 миллиона файлов, и сейчас у меня начинаются проблемы с ограничением памяти.

Есть ли какие-нибудь способы find которые уменьшат использование памяти? Есть ли альтернативы, которые ведут себя лучше? Мне просто нужно удалить файлы в этом каталоге, которые соответствуют пару критериев, а затем распечатать их. (Мое последнее решение - я просто напишу свою собственную программу для выполнения того, что мне нужно, путем потоковой передачи результатов ls ...)

0