Uma barra de progresso de tamanho fixo, uma contagem de arquivos ou bytes ou, melhor ainda, um cronômetro mostrando o tempo estimado restante seria o ideal.
zipO comportamento padrão de parece ser imprimir uma linha para cada arquivo processado, mas não quero que essa informação seja sobrecarregada quando zipar milhares de arquivos. Quero uma estimativa de quanto tempo vai demorar.
Tentei a opção -q( --quiet) em combinação com -dg( --display-globaldots), mas isso apenas inunda o stdout com várias linhas de pontos e não fornece nenhuma indicação útil.
Eu também tentei -qdgds 10mconforme mencionado na página de manual, mas obtive o mesmo resultado.
Eu tentei -db( --display-bytes) e -dc( --display-counts), mas não parece haver uma opção global; portanto, ela a imprime novamente para cada nome de arquivo.
Por fim, tentei junto com o -qlike -qdbdc, mas isso não gera nada.
Curiosamente, encontrei uma página de manual no site info-zip que menciona uma opção -de( --display-est-to-go) que deve "Exibir uma estimativa do tempo para concluir a operação de arquivamento".
Parece exatamente o que eu quero, mas o problema é que minha versão do zipnão possui esse recurso. Estou usando o Ubuntu 14.04.1 64bit, bash-4.3.30 (1) e zip-3.00. Segundo a Wikipedia, esta é a última versão estável do zip.
Existem versões beta não lançadas na página info-zip sourceforge, mas prefiro não confiar meus dados a uma versão beta.
pv /path/to/file | gzip > /path/to/file.gz
tee. Antes de iniciar o zip, faça uma contagem total dos arquivos (comlsoufind -type f) e, enquanto estiver compactando, leia o arquivo de log para o número de linhas de arquivos processados que ele já possui (comgrepas linhas corretas para examinar ewc -las linhas count), para que suas informações de alto nível mostrem algo como "234/76438 arquivos processados";