Listando os arquivos do arquivo zip aninhado sem extração

3

Aninhei os arquivos zip e preciso listar os nomes dos arquivos sem extrair no local temporário. Usando o script de shell. Por favor, deixe-me saber se temos algum trabalho em torno Expample:

  • Zip1
    • text1
    • text2
    • zip2
      • Amostra1
      • Amostra2
por Sathish R 31.10.2015 / 05:54

1 resposta

0

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 .

    
por 03.11.2015 / 22:25