
Я знаю, что когда я сжимаю архив с помощью этой 7za
утилиты, она выдает мне статистику, такую как количество обработанных файлов и объем обработанных байтов (исходный размер данных).
Можно ли с помощью командной строки (в Linux) или какого-либо языка программирования определить:
- исходный размер архива до его сжатия?
- количество файлов/каталогов, содержащихся в архиве?
Ответ может быть таким: «Нет, просто распакуйте весь архив и выполните подсчет/оценку размера», но было бы полезно узнать, есть ли более быстрый/менее жадный до памяти способ.
решение1
Вы можете направить вывод 7za l <path to archive>
в текстовый файл или непосредственно в программу, написанную на языке программирования по вашему выбору.
решение2
Ну, я не знаю, работает ли это с 7za. Но вы можете оценить размер Tar до того, как создадите файл Tar с помощью этой команды.
$ tar -cf - /каталог/в/архив/ | wc -c
Источник:http://www.thegeekstuff.com/2010/04/unix-tar-command-examples/