Comprimindo com BarCat?

Comprimindo com BarCat?

Estou tendo problemas ao usar o Barcat para mostrar uma caixa de diálogo durante a compactação? Quer saber qual é a sintaxe exata?

aqui está um link paraBarcat

coisas que eu tentei são

  bar -n apache24.tar.xz |tar -Jcf -
  bar -n apache24.tar.xz |tar -Jcf - apache24/
  bar -n apache24.tar.xz |tar -Jcf apache24/ - 
  bar -c 'tar -Jcf apache24/ apache.tar.xz'
  bar -c 'tar -Jcf apache.tar.xz apache24/'
  bar -n apache24.tar.xz apache24/ |tar -Jcf - 
  bar -n apache24/ apache24.tar.xz |tar -Jcf - 
  bar -n apache24/ |tar -Jcf - 
  bar -n apache24/ |tar -Jcf -- apache.tar.xz
  bar -n apache.tar.xz  |tar -Jcf apache24/ --
  bar -n apache.tar.xz -- apache24/ |tar -Jcf -
  bar -n apache.tar.xz apache24/ |tar -Jcf -
  bar -n apache.tar.xz apache24/ |tar -Jcf --
  bar -n apache24/ apache.tar.xz |tar -Jcf -

Desculpe qualquer idiota que acabei de colar da história

Responder1

Não é possível fazer isso, pelo menos não tão convenientemente quanto você provavelmente gostaria. Para entender por quê, é preciso considerar como esse programa funcionaria. No caso de descompactação, ele pode facilmente determinar o .tar.xzarquivo original para obter seu tamanho, e o progresso pode ser calculado como o número de bytes que passaram bar, dividido pelo tamanho do arquivo. Mas no caso de compactação, barnão é inteligente o suficiente para descobrir o tamanho original do diretório, nem sabe o tamanho final de uma entrada canalizada para ele (por exemplo, se a saída de tarfor transmitida para bar).

barparece aceitar uma -sopção para que você possa ajudá-lo com o tamanho esperado, mas não consegui produzir uma saída correta. É mais ou menos assim, se você quiser brincar mais com isso:

tar cf - apache24/ | bar -s $(du -sb apache24 | cut -f1) | xz > apache24.tar.xz

Na prática, você provavelmente teria que adicionar um fator de correção à dusaída para compensar as despesas gerais do tarformato. Obviamente, não é muito conveniente fazer isso.

informação relacionada