4

Я обычно использую 7zip в Windows и распаковываю несколько файлов 7zip. Я наткнулся на несколько статей, в которых отмечалось, что мне нужно объединить несколько 7zip-файлов в один zip-архив, если я хочу распаковать в Linux.

  1. Это необходимо?
  2. Могу я не указать просто первый из нескольких файлов 7zip?

Причина, по которой я спрашиваю, заключается в том, что при запуске команды 7zr e {name_of_first_archive} она распаковывает только первый архив.

2 ответа2

6

Вы можете извлекать / распаковывать разделенные архивы 7z, не нужно объединять части перед извлечением. Единственное требование - ваши архивы должны иметь инкрементные расширения типа .NNN (где N = [0..9]), начиная с .001. Вероятно, это связано с тем, что при создании раздельного архива с использованием 7z он будет называть каждую часть архива таким образом. Затем все, что вам нужно сделать, это запустить команду для первого архива:

[me home]$ ls
diveintopython3.pdf.7z.001  diveintopython3.pdf.7z.002  diveintopython3.pdf.7z.003

[me home]$ 7zr x diveintopython3.pdf.7z.001

7-Zip (A) [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)

Processing archive: diveintopython3.pdf.7z.001

Extracting  diveintopython3.pdf

Everything is Ok

Size:       2598283 Compressed: 734003
2

Ну, видимо, ты не можешь. Странно, но вы идете. Этот маленький скрипт будет делать то, что вы хотите (при условии, что ваши архивы имеют расширение .7z, если нет, измените его на любое расширение):

for n in *7z; do 7zr x $n; done

Используйте «x» вместо «e», потому что «e» извлечет все файлы в текущий каталог, а «x» сохранит исходные пути.

Чтобы сделать вашу жизнь проще, вы можете добавить эту маленькую функцию в ваш файл ~/.bashrc:

function multi7z () {
    for n in $@; do 7zr x $n; done
}

Затем вы можете распаковать несколько архивов, как и ожидалось:

$ multi7z *7z

или же

$ multi7z a.7z b.7z n.7z

РЕДАКТИРОВАТЬ: Это будет работать, если вы распаковываете несколько независимых архивов. Если у вас есть один архив, разбитый на множество файлов .7z, используйте вместо этого ответ @ don_crissti.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .