Обязательно ли объединять несколько файлов 7zip в Linux перед их распаковкой?

Обязательно ли объединять несколько файлов 7zip в Linux перед их распаковкой?

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

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

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

решение1

Вы можете извлекать/распаковывать разделенные архивы 7z, нет необходимости объединять части перед извлечением. Единственное требование — ваши архивы должны иметь инкрементные расширения типа.ННН(где 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

EDIT: Это сработает, если вы распаковываете несколько,независимыйархивы. Если у вас естьодинархив разделен на множество файлов .7z, вместо этого используйте ответ @don_crissti.

Связанный контент