Seguindo a abordagem do PO, substitua awk por Perl - 'Perl -ae' é muito semelhante ao awk ...
... | perl -ae ' printf "%-20s %d %s\n", $F[0], $F[1],"▄"x$F[1]'
aa 12 ▄▄▄▄▄▄▄▄▄▄▄▄
bb 23 ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Editar: com Awk, você pode executar algo nos moldes de
... | awk '{printf "%-20s %d %.*s\n",$1,$2,$2,"▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"}'
printf
formatos de função (usados em C, Awk, Perl, printf
comando, etc) podem ser um pouco complicados. Seguindo alguns exemplos com strings:
-
"%.20s,str
- width = max (20, len (str)), alinhamento = esquerda -
"%20s",str
- width = max (20, len (str)), alinhar = rigth -
"%.20s",str
--width = min (20, len (str)), trunca se len > 20 -
"%20.20s,str
- width = 20, trunca se len > 20, alinhamento = direito -
"%*s",30,str
- éprintt("%30s",str)
-
"%.*s",30,str
- éprintt("%.30s",str)