
В Linux я знаю, что могу использовать
find ./ -size +1M
найти файлы размером более 1 МБ, но как мне подсчитать общее пространство, необходимое для этих файлов?
решение1
Вы можете -exec
применить программу к каждому из 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
вызов из имен файлов, и если он становится слишком длинным, он разбивает его на отдельные вызовы с отдельными итогами.