Я обычно использую 7zip, когда работаю в Windows и распаковываю несколько файлов 7zip. Я наткнулся на несколько статей, в которых говорилось, что мне нужно объединить несколько файлов 7zip в один архив zip, если я хочу распаковать их в Linux.
- Это необходимо?
- Могу ли я указать только первый из нескольких файлов 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.