В настоящее время я сжимаю список файлов из каталога в следующем формате:
tar -cvjf test_1.tar.gz -T test_1.lst --no-рекурсия
Приведенная выше команда сжимает только те файлы, которые указаны в списке. Я делаю это, потому что этот список создан так, что он подходит для DVD. Однако во время сжатия степень сжатия уменьшает предполагаемый размер файла, и на DVD остается много свободного места. Это что-то вроде алгоритма ранца.
Я хотел бы оценить размер сжатого файла и добавить еще несколько файлов в список. Я обнаружил, что можно оценить размер файла с помощью следующей команды:
tar -cjf - Папка / | туалет
Эта команда не принимает параметр списка. Есть ли способ оценить размер сжатого файла? Я также ищу варианты, такие как сценарии Perl и т.д.
Редактировать:
Я думаю, что должен предоставить больше информации, так как я много занимался веб-поиском. Я натолкнулся на Perl-скрипт (Link), который имитирует алгоритм ранца.
Текущая проблема с вышеупомянутым сценарием состоит в том, что он разбивает файлы в их исходном состоянии. Когда я сжимаю файлы после их разделения, есть возможность добавить больше файлов, которые я считаю неэффективными.
Есть 2 способа, которыми я мог бы решить неэффективность:
а) Сжать отдельные файлы и сохранить их в каталоге с помощью сценария. Сжатый файл может дать наилучшую оценку. Я мог бы сгенерировать скрипт, используя папку сжатых файлов и использовать их на несжатых.
б) Убедитесь, что размер сжатого файла меньше необходимого размера. Если так, я должен продолжать добавлять файлы, пока я не отвечу требованию. Однако добавление новых файлов в сжатый файл само по себе является проблемой оптимизации.