В Linux я знаю, что могу использовать

find ./ -size +1M

найти файлы размером более 1М, но как мне суммировать общее пространство, необходимое для этих файлов?

1 ответ1

2

Вы можете -exec UTE программы по каждому из результатов find

-exec utility [argument ...] {} +

То же, что -exec , за исключением того, что `` {} '' is replaced with as many pathnames as possible for each invocation of utility. This behaviour is similar to that of xargs(1)`.

Запустите du -c для суммирования использования диска (количества использованных блоков) для результатов, например:

find ./ -size +1M -exec du -c {} +

При желании добавьте -h чтобы получить удобочитаемые размеры, или -k для блоков по 1k. Добавьте -s если другое выражение find также возвращает папки.

Для этого требуется, чтобы результатов было не слишком много , поскольку он строит один вызов du из имен файлов, а если он становится слишком длинным, он разбивает его на отдельные вызовы с отдельными итогами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .