Думаю, у вас есть три варианта:
Перепишите du в filter. Файл Perl ::Find может быть хорошей отправной точкой.
Напишите файловую систему прокси, которая показывает только выбранные файлы. Реализация предохранителя, вероятно, является хорошим началом. Ожидайте плохой производительности.
Пересмотреть существующую реализацию du.
Я создал небольшой проект на GitHub, воссоздающий то, что я только что описал. Он полностью оптимизирован за счет использования одного вывода из find
и анализа всего остального внутри AWK
. Не стесняйтесь вносить свой вклад: