При запуске find
команды в очень большом каталоге я обнаруживаю, что find
использование памяти происходит гораздо чаще, чем я предполагал. Мне стало очень трудно искать решения из-за перегруженного использования слова "find" ;) Вот команда:
find /var/dir -size +500k -iname "pattern_*" -mtime +90 -type f -exec rm {} \; -print
Сохраняет ли find весь список файлов для каталога в памяти при его обработке? Похоже, он может просто проверить одну запись и двигаться дальше. В каталоге, с которым я работаю, находится ~2 миллиона файлов, и теперь я начинаю сталкиваться с проблемами ограничения памяти.
Есть ли способы использования find
, которые уменьшат использование памяти? Есть ли альтернативы, которые ведут себя лучше? Мне просто нужно удалить файлы в этом каталоге, которые соответствуют паре критериев, а затем распечатать их. (Мое последнее решение — я просто напишу свою собственную программу, которая будет выполнять то, что мне нужно, передавая результаты ls
...)