P: Como mostrar o progresso da descompactação?

3

Como posso mostrar progresso, barra ou porcentagem ao descompactar arquivos grandes?

'unzip zipfile.zip' não mostra informações de progresso?

    
por JPX 28.04.2017 / 16:26

2 respostas

4

Sem instalar mais nada, a maneira mais fácil é imprimir um ponto para cada arquivo extraído ou processado usando o awk.

unzip -o source.zip -d /destDirectory | awk 'BEGIN {ORS=" "} {print "."}'

Se for um arquivo zip grande, você pode optar por imprimir um ponto para cada 10 ou 20 arquivos como este:

unzip -o source.zip -d /destDirectory | awk 'BEGIN {ORS=" "} {if(NR%10==0)print "."}'

Basta alterar o "10" na peça NR% 10 para qualquer incremento que você queira.

Como alternativa, você pode instalar o comando pv, que não funciona muito bem com o unzip, mas dá uma visão de um liner que não é totalmente terrível.

Instalar pv:

sudo apt install pv

Descompacte com pv:

unzip -o source.zip -d /destDirectory | pv -l >/dev/null

Isso mostra a saída que se parece com isso:

28.2k 0:00:03 [9.36k/s] [        <=>                       ]

Devido ao modo como os arquivos zip são processados, ele não mostrará uma barra de progresso de maneira significativa, como gostaríamos.

    
por Scott 03.10.2017 / 20:03
0

Outra alternativa para mostrar o progresso do zip / unzip é usar o programa 7zip. Na última versão 16.02 (publicada em 2016-05-21), ele mostra o progresso como porcentagem.

Os pacotes p7zip para a versão 16.02 estão disponíveis no repositório do Ubutuntu desde o release artuful / 16.10. Versões mais antigas do Ubuntu têm apenas a versão 9.20.1 do p7zip sem indicador de progresso no repositório. Eu instalei manualmente a versão 16.02 do pzip no Ubuntu xenial / 16.04 do repositório biônico, parece não haver outras dependências (p7zip, p7zip-full e p7zip-rar).

7z x source.zip -o/destDirectory

Observe que não deve haver espaço entre o "-o" e o nome do diretório de destino.

    
por palto 24.03.2018 / 19:12