Как получить суммарный размер всех файлов, соответствующих шаблону в командной строке

find . -iname '*.jar' | xargs du -ks | cut -f1 | xargs echo | sed "s/ /+/g" | bc


Эта команда выполняет поиск всех файлов в текущей директории и ее поддиректориях, имя которых соответствует шаблону «*.jar». Затем она передает список найденных файлов команде du, которая вычисляет их размер в килобайтах и передает его cut, чтобы оставить только первое поле каждой строки (в данном случае — размер файла в килобайтах). Затем эти размеры передаются xargs, который объединяет их в одну строку, разделяя «+» и передает эту строку sed, которая заменяет все пробелы «+» для использования в арифметическом выражении. Наконец, суммарный размер файлов вычисляется путем передачи строки суммарных размеров команде bc. В результате выводится общий размер всех файлов в килобайтах, соответствующих заданному шаблону. В качестве альтернативы можно использовать команду du -csh *.jar для вычисления общего размера всех файлов в текущей директории, имя которых заканчивается на «.jar», без необходимости использования конвейера и других команд.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *