zip extractor de lectura de archivos de stdin

2

Como sigue de UNZIP(1L) página de manual

Los archivos leídos de entrada estándar aún no son compatibles

¿Hay otros programas CLI que se ejecutan bajo Linux / cygwin y que pueden extraerse de archivos zip y leerlos desde stdin?

vect
fuente
Hmm 7z fue lo primero que me vino a la mente, pero es un no-go ... 7z x -si < sample.zip devoluciones Error: E_NOTIMPL y la documentación confirma que la lectura de archivos zip desde stdin aún no es compatible.
Baris Demiray
cat archive.zip | tar -xvf - Funciona en BSD / OS X, pero no con gnu tar.
Eir Nym

Respuestas:

2

Repost de mi respuesta :

BusyBox's unzip Puede tomar stdin y extraer todos los archivos.

wget -qO- http://downloads.wordpress.org/plugin/akismet.2.5.3.zip | busybox unzip -

El guión después unzip es usar stdin como entrada.

Usted puede incluso,

cat file.zip | busybox unzip -

Pero eso es simplemente redundante de unzip file.zip.

Si su distribución utiliza BusyBox de forma predeterminada (por ejemplo, Alpine), simplemente ejecute unzip -.

BusyBox es disponible en cygwin.

Saftever
fuente
0

La respuesta a su pregunta depende del archivo zip en la mano.

gunzip < sample.zip funcionará, pero solo si se ha utilizado un método de compresión compatible.
Comprobar man gunzip o https://www.google.se/?#safe=off&q=man+gunzip ... o simplemente inténtalo.

Hannu
fuente
Una limitación más es que gzip puede manejar solo archivos que no contienen más de un archivo. Tengo el siguiente error al intentar extraer con gunzip desde un archivo zip que contiene varios archivos: gzip: stdin has more than one entry--rest ignored.
vect
0

(mejorado para Windows) SI tienes Java JDK (¡grande si!)

 get_zip_content | jar x
 # xv to list while extracting
 # optionally specify entries to extract; default is all
 # supply full /path_to_jdk/bin/jar if it's not in PATH

Califico esto como 7/10 en la escala de kludge.

dave_thompson_085
fuente