Нужен способ собрать общий размер файлов JAR - PullRequest
0 голосов
/ 14 апреля 2009

Я новичок в более продвинутых командах bash. Мне нужен способ подсчитать размер внешних библиотек в нашей кодовой строке. Существует несколько основных каталогов, но у меня также есть электронная таблица с указанием фактического расположения библиотек, которые необходимо включить.

Я возился с find и du, но мне неясно, как указать несколько местоположений. Могу ли я найти размер нескольких сотен банок, перечисленных в таблице, вместо того, чтобы приближаться к основным каталогам?

edit: Теперь я могу найти размер определенных файлов. Мне пришлось экспортировать таблицу Excel с местоположениями в CSV. В PSPad я «соединял линии», копировал и вставлял их прямо в слот list_of_files. (* 1 010 *). Мне не удалось заставить find использовать файл, содержащий местоположения, разделенные пробелом / табуляцией / строкой.

Теперь я не могу сказать, сработает ли замена list_of_files на list_of_directories. Похоже, он считает вещи в два раза, например

1.0M /folder/dummy/image1.jpg  
1.0M /folder/dummy/image2.jpg  
2.0M /folder/dummy  
3.0M /folder/image3.jpg  
7.0M /folder  
14.0M total  

Это подделка, но если она так считает, то это не то, чего я хочу. Я подозреваю, что причина в том, что общее количество, которое я получаю, кажется очень высоким.

Ответы [ 2 ]

1 голос
/ 14 апреля 2009

Вы имеете в виду ...

find list_of_directories | xargs du -hc

Тогда, если вы хотите точно передать файлы, перечисленные в таблице, вам нужен способ их отфильтровать. Это текстовый файл или в каком формате?

find `(cat file)` | xargs du -hc

может сделать это, если они находятся в текстовом файле в виде списка, разделенного пробелами. Возможно, у вас возникнут проблемы с пробелами ... Вы должны указать имена файлов.

0 голосов
/ 14 апреля 2009
for fn in `find DIR1 DIR2 FILE1 -name *.jar`; do du $fn; done | awk '{TOTAL += $1} END {print TOTAL}'

Вы можете указать свои файлы и каталоги вместо DIR1, DIR2, FILE1 и т. Д. Вы можете перечислить их индивидуальные размеры, удалив команду piped awk.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...