¿Es un requisito concatenar varios archivos 7zip en Linux antes de poder descomprimirlos?

¿Es un requisito concatenar varios archivos 7zip en Linux antes de poder descomprimirlos?

Generalmente uso 7zip cuando estoy en Windows y descomprimo varios archivos 7zip. Me he encontrado con varios artículos que señalan que necesito concatenar varios archivos 7zip en un único archivo zip si deseo descomprimirlos en Linux.

  1. ¿Es esto necesario?
  2. ¿No puedo especificar simplemente el primero de los múltiples archivos 7zip?

La razón por la que pregunto es que parece que al ejecutar el comando 7zr e {name_of_first_archive}solo descomprime el primer archivo.

Respuesta1

Puede extraer/descomprimir archivos divididos 7z, sin necesidad de concatenar las partes antes de la extracción. El único requisito es que sus archivos tengan extensiones incrementales del tipo.NNN(donde N=[0..9]) a partir de.001. Probablemente esto se deba a que cuando crea un archivo dividido usando 7z, nombrará cada parte del archivo de esta manera. Luego, todo lo que tienes que hacer es ejecutar el comando en el primer archivo:

[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

Respuesta2

Bueno, aparentemente no puedes. Es extraño, pero ahí lo tienes. Sin embargo, este pequeño script hará lo que usted quiera (suponiendo que sus archivos tengan la extensión .7z, si no, cámbielos a cualquier extensión que tengan):

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

Utilice la bandera 'x' en lugar de la 'e' porque 'e' extraerá todos los archivos al directorio actual mientras que 'x' preservará las rutas originales.

Para hacer tu vida más fácil, puedes agregar esta pequeña función a tu archivo ~/.bashrc:

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

Luego puedes descomprimir varios archivos como se esperaba:

$ multi7z *7z

o

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

EDITAR: Esto funcionará si está descomprimiendo varios,independientearchivo. Si usted tieneunoarchivo dividido en muchos archivos .7z, use la respuesta de @don_crissti en su lugar.

información relacionada