printf

1. printf

kate tome
KateTome

(usa Outra)

Enviado em 09/06/2009 - 19:00h

Estou organizando um arquivo (inserindo casas decimais...) e ela tem varias colunas numericas e a ultima string com espaço
Ultima coluna $17
Kate Tome de Sousa

O seguinte script a ultima coluna fica só Kate não pega o resto da coluna.

awk -F'\t' '{printf "%4d\t%2d\t%2d\t%2d\t%2d\t%2d\t%2.2f\t%2.2f\t%3d\t%-12s\t%2s\t%2d\t%1s\t%1.1f\t%1d\t%3.1f\t%-50s\n" ,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17}' temp1.dat > temp2.dat

Alguém pode me ajudar como faço para deixar a ultima coluna nessa linha com 50 caracteres alinhada a direita com os espaços?


  


2. Re: printf

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 12/06/2009 - 19:47h

Estava pensando em usar uma variável baseada no tamanho da linha (length) e preencher esta variável com espaços.
Me manda um pedaço do arquivo, pra facilitar e ai vamos ver se dá certo.


3. Re: printf

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 15/06/2009 - 13:42h

na verdade, dei uma olhada melhor e acho que é só trocar o "%-50s" por "%50s", dá uma testada.


4. Consegui

kate tome
KateTome

(usa Outra)

Enviado em 15/06/2009 - 15:56h

mudei de posição e coloquei essa coluna como primeira, então deu certo..
awk -F'\t' '{printf "%-50s\t%4d\t%2d\t%2d\t%2d\t%2d\t%2d\t%2.2f\t%2.2f\t%3d\t%-12s\t%2d\t%2d\t%1s\t%1.1f\t%3.1f\n" ,$17,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15}' temp.dat > temp1.dat







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts