Конвертировать .tar.gz / .tar.bz2 в .7z в пакетном режиме?

2970
Mehrdad

Как преобразовать файлы .tar.gz и .tar.bz2 в файлы .7z с помощью командной строки?

2
Возможно, вы сможете отредактировать [этот скрипт, конвертирующий из zip] (http://www.howtogeek.com/50893/easily-convert-all-your-zip-archives-to-7z-archives/), чтобы соответствовать вашим требованиям? Также имеется [онлайн-конвертер] (http://www.zamzar.com/), поддерживающий указанные форматы. N.N. 13 лет назад 3
@NN: Спасибо за ссылку ... кажется, это то, что я хочу, кроме того, что для этого требуется временный каталог (что нетривиально, учитывая, что мои файлы большие). Я все равно попробую; Благодарю. Mehrdad 13 лет назад 0
Я уверен, что вы не можете избежать записи файлов на диск в несжатом виде. Я не думаю, что какой-либо полезный алгоритм сжатия может выполнять свою работу без просмотра всего файла. Lukasa 13 лет назад 1
Будет ли самый большой из ваших файлов помещаться в памяти без сжатия? Если это так, вы можете найти целесообразным использовать виртуальный диск для временных файлов? therefromhere 11 лет назад 0

2 ответа на вопрос

0
nik

Обновление : я пропустил windowsтэг ' ' в вашем вопросе полностью.
Таким образом, если вы не используете некоторые инструменты Unix (Cygwin?), Этот ответ не может быть использован там.
Я ожидаю, cygwinчтобы правильно реализовать эту трубу - вам нужно bash, tar, bzip2и 7zот окружающей среды.


Вы можете передать вывод смолы в 7z, как это,

tar xfj filename.tar.bz2 | 7z -si filename.7z 

и так же,

tar xfz filename.tar.gz | 7z -si filename.7z 

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

tar xf file.tar` извлекает файлы на диск, возможно, вы хотели сказать `tar -xf file.tar -O`, который отправляет извлеченные файлы в StdOut Bor691 9 лет назад 0
0
Bor691

try ArcConvert.

i did not personally tested this program but it says it does what you want, from their site :

------------------------------------------------------------------------------ This convertor can convert the following archives: ------------------------------------------------------------------------------ 7-ZIP/ LZH / CAB / ZIP / ARJ / ACE / RAR / TAR / TGZ / GZ / Z / BZ2 / YZ1 / YZ2 / GCA / BEL / RPM / DEB/ BH / Noa32 / HKI / PAQAR / SQX /HA /ZOO / UHARC /LFB / ZLIB / UCL / IMP / RS / SPL / APK / Arc / DZ / MSI / ALZ / PMA / PAQ7 / CHM / UDA / PAQ8 / Cryptonite / ISO / LZOP / BMA / ZIP AES (128/192/256) / Nanozip Alpha/ XZ/ FreeArc/Zpaq/GZA ------------------------------------------------------------------------------ to the following ones: ------------------------------------------------------------------------------ ZIP, 7-ZIP, CAB, LHA, TAR, TGZ, BZ2, YZ1, BGA, RAR, ACE, NOA32, PAQAR, UHARC, YZ2, DZ, HA, XZ, FreeArc, ARJ/PAQ9/GZA 

screenshot:

ArcConvert

ОП попросил решение для командной строки. Кроме того, ArcConvert - это просто графический интерфейс для различных инструментов. Внутренне он использует, например, `7z.exe`, который является инструментом командной строки. nixda 9 лет назад 0