Axel-command-line-downloader apenas mostra o progresso?

0

Existe alguma maneira de esconder todas as saídas do comando axel mas NÃO ESCONDE progress bar . Eu quero obter uma saída como:

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

Esta saída de axel -a , mas sempre imprime todas as etapas, embora eu tenha editado ~ / .axelrc e / etc / axelrc Eu alterei # verbose = 1 com 0 . Eu não quero enviar um plano de fundo como command & . Você tem alguma ideia? Por favor, não sugira wget no wget Eu posso fazer isso com -nv --show-progress mas nenhuma opção para axel.

    
por makgun 19.08.2015 / 03:28

1 resposta

1

Em um terminal bash , você pode usar:

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

Com -W interactive awk lê buffer de linha e grava sem buffer para stdout. Em seguida, awk procura por [ na linha e imprime com ^M character $'\r' .

Você também pode escrever uma função para isso:

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

Agora você pode chamar axel por:

axel_progress http://url 
    
por 19.08.2015 / 08:46