E ai galera? na Paz? Venho pedir a ajuda dos caros colegas com relação ao comando printf.
No meu trabalho eu estou desenvolvendo um script para comptrolar um PDC em samba e para as funções de pesquisa e listagem de usuários eu utilizo o printf para formatar a saida, juntamente com o tput para calcular as colular e consegquentemente o espaçamento necessário entre elas. O problema que estou enfrentando é que quando imprimo alguma string que possua acento o printf puxa a formatação uma casa para esquerda nessa respectiva linha para cada caracter acentuado, detonando a formatação da lista. O exemplo abaixo mostra o que estou falando [r...@proxyp15 samba]# TAB=23;printf "%-$[TAB]s%-$[TAB]s\n" "ÁÁAAAA" "BBBB"; printf "%-$[TAB]s%-$[TAB]s\n" "AAAAAA" "BBBB" ÁÁÁAAA BBBB AAAAAA BBBB [r...@proxyp15 samba]# TAB=23;printf "%-$[TAB]s%-$[TAB]s\n" "ÁAAAAA" "BBBB"; printf "%-$[TAB]s%-$[TAB]s\n" "AAAAAA" "BBBB" ÁAAAAA BBBB AAAAAA BBBB [r...@proxyp15 samba]# TAB=23;printf "%-$[TAB]s%-$[TAB]s\n" "AAAAAA" "BBBB"; printf "%-$[TAB]s%-$[TAB]s\n" "AAAAAA" "BBBB" AAAAAA BBBB AAAAAA BBBB [r...@proxyp15 samba]# Só pra constar já tentei colocar o AAAAAA sem aspas, com aspas duplas como está no exemplo e com aspas simples tbm, dá tudo na mesma, sai do alinhamento. Não caso eu não encontre uma solução irei partir para passar o TR removendo os acentos de tudo, mas como se trata de Nomes preferia não fazer isso. Já aproveitando a deixa se alguém souber como faço para truncar o número de caracteres de uma variável impressa pelo printf seria de grande ajuda tbm. Grato, Lawrence Waclawiak
