Форматировать показания консоли в Aria2

Форматировать показания консоли в Aria2

Я использую его aria2для выполнения базовых загрузок.В документациион определяет console readoutследующий формат:

[#2089b0 400,0 КБ/33,2 МБ(1%) CN:1 DL:115,7 КБ ETA:4м51с]

Этот формат довольно удобочитаем, но поскольку он будет использоваться конечными пользователями, было бы проще просто:

400,0 КБ/33,2 МБ (1%) РВП: 4 мин 51 с

Поскольку я использую это в пакетном файле, я подумал об использовании for /fцикла для извлечения данных и их последующего анализа. Насколько я знаю, в for /fцикле можно использовать только статические данные, т.е. он не поддерживает форматирование вв реальном временивывод команды.

яне может показатьсячтобы найти какую-либо документацию о том, как изменить формат с помощью параметров командной строки, носуществуют ли параметры командной строки для изменения формата вывода на консоль?или мне придется создать измененную версию aria2и перекомпилировать?

решение1

Боюсь, что изменить формат вывода данных на консоль в aria2 невозможно, нет никаких опций для управления этим.

Если вы передаете вывод aria2c, он подавляет как чтение, так и журнал. Поэтому лучшим вариантом, вероятно, будет подавление чтения консоли с помощью--show-console-readoutопция установлена ​​на false.

Чтобы уменьшить количество выводимых сообщений, вы также можете уменьшить уровень журнала консоли с помощью--console-log-level.

Чтобы контролировать частоту, с которой aria2 выводит текущую сводку загрузок, используйте--summary-intervalвариант.

Ваша команда может выглядеть так:

aria2c --show-console-readout=false --console-log-level=warn --summary-interval=5 <url>

Каждые 5 секунд aria2 будет выводить статистику загрузок. Чтобы отфильтровать другой вывод, вы можете использовать find "ETA:"и затем проанализировать его с помощьюfor /f.

Связанный контент