Команда Linux «du», только для файлов с определенным расширением

См. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=883333. У меня была такая же проблема, но ручная установка некоторых дополнительных пакетов решила ее для меня.

2
09.02.2021, 13:09
2 ответа

Предполагается, что инструменты GNU (разумно принять в системе Linux):

find myfolder -type f -name '*.pst' -print0 |
du --human-readable --total --files0-from=-

Это находит все обычные файлы с именами, соответствующими шаблону *.pstв каталоге myfolderили в нем. Путь каждого такого файла передается в списке с разделителями nul -в du, который считывает их из стандартного ввода и сообщает общий размер, занимаемый файлами.

2
18.03.2021, 22:31

Вы можете передать список имен файлов в качестве входных данных для du(, предполагая версию GNU, которая является версией не -встроенного Linux ).

find myfolder -name '*.pst' -print0 | du --files0-from=- -c

В качестве альтернативы, если список имен файлов не слишком длинный, вы можете заставить оболочку передавать его в командной строке. Это работает из коробки с zsh и требует shopt -s globstarдля bash.

cd myfolder
du -c -- **/*.pst
1
18.03.2021, 22:31

Теги

Похожие вопросы