У меня проблема с использованием Barcat для отображения диалогового окна при сжатии? Хотите знать, что такое точный синтаксис?

вот ссылка на Barcat

вещи, которые я пробовал

  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 -

Извините за любые дураки, которые я только что вставил из истории

1 ответ1

1

Это не может сделать это, по крайней мере, не так удобно, как вам бы того хотелось. Чтобы понять почему, вы должны подумать о том, как будет работать такая программа. В случае распаковки он может легко определить исходный файл .tar.xz чтобы получить его размер, а прогресс может быть вычислен как число байтов, прошедших через bar , деленное на размер файла. Но в случае сжатия bar не достаточно умна, чтобы определить исходный размер каталога, и при этом она не знает окончательного размера входных данных, которые передаются в нее (например, если вывод tar передается в bar).

Кажется, что bar принимает опцию -s чтобы вы могли помочь с ожидаемым размером, но я не смог заставить его получить правильный вывод. Это выглядит примерно так, если вы хотите поиграть с этим больше:

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

На практике вам, вероятно, придется добавить коэффициент выдумки к выводу du чтобы учесть накладные расходы в формате tar . Очевидно, не очень удобно это делать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .