Есть ли способ скрыть весь вывод команды акселя, но НЕ ЗАКРЫТЬ progress bar . Я хочу получить вывод, как;

[  5%] [0            1           2            3           ] [  567,5KB/s] [15:59]

Это вывод от axel -a но он всегда печатает каждый шаг, хотя я редактировал ~/.axelrc и /etc /axelrc, я менял # verbose = 1 на 0 . Я не хочу отправлять его в фоновом режиме, как command & . Есть ли у вас какие-либо идеи? Пожалуйста, не предлагайте wget в wget, я могу сделать это с -nv --show-progress но без параметра axel.

1 ответ1

1

В терминале bash вы можете использовать:

axel -a http://url | awk -W interactive '$0~/\[/{printf "%s'$'\r''", $0}'

С -W interactive awk читает буферизованную строку и записывает без буферизации в стандартный вывод. Затем awk поиск для [ строке и выводит его с ^M символов $'\r'

Вы также можете написать функцию для этого:

function axel_progress {
  axel -a "$1" | awk -W interactive '$0~/\[/{printf "%s'$'\r''", $0}'
}

Теперь вы можете позвонить axel по:

axel_progress http://url 

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