O sinalizador unzip -p canalizará os dados descompactados para stdout. Infelizmente, o programa unzip
não tem a opção de ler o stdin por algum motivo. Adaptar o one liner do python de esta resposta a uma pergunta semelhante faz o truque.
por exemplo:
unzip -p Zip1.zip Zip1/zip2.zip| python -c 'import zipfile,sys,StringIO;print "\n".join(zipfile.ZipFile(StringIO.StringIO(sys.stdin.read())).namelist())'
Adicionado: A ferramenta jar do Java pode ler a partir de stdin. roubado de esta resposta.
por exemplo:
unzip -p Zip1.zip Zip1/zip2.zip| jar -t
saída:
zip2/
zip2/Sample2
zip2/Sample1
arquivo zip original:
$ unzip -l Zip1.zip
Archive: Zip1.zip
Length Date Time Name
--------- ---------- ----- ----
0 2015-11-03 15:49 Zip1/
5 2015-11-03 15:49 Zip1/text1
5 2015-11-03 15:49 Zip1/text2
474 2015-11-03 15:48 Zip1/zip2.zip
--------- -------
484 4 files
Encontrou o thread relevante do Serverfault de seu - comentário .