Criando uma String de comprimento dinâmico - maneira menos consumidora?

1

Eu quero escrever uma série do caractere - , o valor igual a 50% do tamanho da coluna da janela do terminal.

Eu já tenho o tamanho da coluna. Digamos que o tamanho da coluna do terminal seja 30. Meu resultado final desejado seria uma variável String contendo isso:

echo $column_width
---------------
# That is 15 x "-"

Como devo proceder para construir esta variável? Devo percorrer 0 < $ column_width e concatenar um "-" para cada iteração ou existe uma maneira mais inteligente? Caso você esteja se perguntando, isso é apenas algo para um aviso bash.

    
por krystah 06.01.2014 / 16:49

1 resposta

0

Perl é bom nisso:

separator=$( perl -e 'print "-" x (qx(tput cols) / 2)' )

Com o shell:

separator=$( printf "%*s" $(( $(tput cols) / 2 )) " " | sed 's/ /-/g' )

onde tput cols é usado para capturar a largura atual do terminal.

    
por 06.01.2014 / 17:15

Tags