Создание progressbar с “диалоговым окном” от rsync производится

Я не слишком уверен в WeeChat, но это возможно в mIRC и Irssi с помощью моего патча.

Если можно заставить WeeChat делать слышимый звонок, когда Вы будете упомянуты/выделены, то мой патч будет работать на WeeChat также.

16
06.08.2012, 17:25
1 ответ
for i in 10 20 30; do echo $i; sleep 1; done | dialog --title "My Gauge" --gauge "Hi, this is a gauge widget" 20 70

хорошо работает, таким образом, @Shadur является правильным и там буферизует приведенный в действие.

Добавление sed стриппер в соединение показывает, что это - преступник (только показывает 0 и 30):

for i in 10 20 30; do echo $i; sleep 1; done | sed 's/\([0-9]*\).*/\1/' | dialog --title "My Gauge" --gauge "Hi, this is a gauge widget" 20 70

Теперь, когда проблема известна, у Вас есть несколько опций. Самым чистым был бы к раунду/сокращению процент в awk или с математикой или с обработкой строк, но так как у Вас есть GNU sed, просто добавление -u или --unbuffered должен добиться цели.

Однако для пользы полноты, простой тестовый сценарий показывает awk также делает буферизацию:

for i in 10 20 30; do echo $i; sleep 1; done | awk '{print $0}' | sed -u 's/\([0-9]*\).*/\1/' | dialog --title "My Gauge" --gauge "Hi, this is a gauge widget" 20 70 

Но Вы уже обрабатываете это с fflush, таким образом, я не ожидаю проблем.

12
27.01.2020, 19:49
  • 1
    , Ничего себе..! Миллион благодарностей! Добавление - освободило буфер к sed, была единственная необходимая вещь! Спасибо за совместное использование Вашего времени и знания Shadur&lynxlynxlynx! –  chr1573r 06.08.2012, 15:52
  • 2
    Для других людей, задающихся вопросом, на что похожа заключительная команда: rsync-avz - прогресс-e "ssh" user@server:/home/user/data//home/user/data | awk-f/home/user/rsync.awk | sed - освободил буфер / ([0-9] *).*/\1 /' | диалоговое окно - заголовок "Мой Индикатор" - индикатор "Привет, это - виджет индикатора" 20 70 –  chr1573r 06.08.2012, 16:10
  • 3
    Без проблем, и добро пожаловавший сайт сайт. :) –  Shadur 06.08.2012, 17:23

Теги

Похожие вопросы