shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Formatar Campos respeitando limite


From: Rodrigo Vian
Subject: Re: [shell-script] Formatar Campos respeitando limite
Date: Thu, 09 Apr 2009 08:14:36 -0300
User-agent: Thunderbird 2.0.0.18 (X11/20081120)

Bom dia Fabiano,

Estarei testando e falo se deu certo aki....

O campo pode estar menor mesmo, pois na verdade eu ainda não determinei 
o tamanho de cada campo... rs

obrigado!

Fabiano Caixeta Duarte escreveu:
>
>
> 2009/4/8 Rodrigo Vian <address@hidden 
> <mailto:listas%40porttaltecnologia.com.br>>:
> > Boa tarde Lista,
> > Andei pesquisando e quebrando a cabeça mas não encontrei nada.
> >
> > A minha situação é a seguinte:
> >
> > Seleciono dados de uma base de dados mysql (até ai tudo tranquilo,
> > inclusive já sai formatado em CSV pra importação no excel). Porém para
> > um outro programa do meu cliente que devo enviar esses dados eu tenho
> > que iniciar os campos em uma coluna exata, pois o programa identifica
> > por posição.
> >
> > Segue alguns detalhes dos dados em csv:
> > "2009-04-05 19:22:59","11111111","SRV/1","2222","SRV/23","10"
> > "2009-04-05 19:22:59","333311111111","SRV/11","44442222","FTP/1","100"
> > "2009-04-05 19:22:59","1234567","SRV/1","2222","SERVIDOR/1-0000548","62"
> > "2009-04-05 19:22:59","11111111","MAIL/2-5487","2222","SRV/23","9"
> > --------------
> > Quero formatar a saida para que o dado do referido campo sempre saia com
> > inicio na coluna que eu especifcar.
> > Exemplo:
> > campo 1: coluna 1
> > campo 2: coluna 21
> > campo 3: coluna 41
> > campo 4: coluna 65
> > campo 5: coluna 75
> > campo 6: coluna 100
> >
> > OBS: Sem usar o TAB..
> >
> > É POSSÍVEL.
> >
> > Desde já agradeço!
> >
> > Att.
> >
> >
> >
> > Rodrigo S. Vian
> > Analista TI
> > Porttal Tecnologia
> > Soluções em TI & Telecom
> > http://www.porttaltecnologia.com.br 
> <http://www.porttaltecnologia.com.br>
> > phone:55+19+3542-9667
> > mobile:55+19+7808-5121
> > nextel:55*89*25546
>
> Eu usaria o printf. Ele permite que se diga quantos caracteres uma
> string deve ocupar.
>
> (
> IFS=,
> while read a b c d e f; do
> printf "%-20s%-20s%-20s%-15s%-10s%-25s\n" $a $b $c $d $e $f
> done < <(tr -d '"' < arquivo)
> )
>
> O detalhe é que a string SERVIDOR/1-0000548 não cabe em 10 espaços ;)
>
> -- 
> Fabiano Caixeta Duarte
> Especialista em Redes de Computadores
> Linux User #195299
> Ribeirão Preto - SP
>
> 


Rodrigo S. Vian
Analista TI
Porttal Tecnologia
Soluções em TI & Telecom
http://www.porttaltecnologia.com.br
phone:55+19+3542-9667
mobile:55+19+7808-5121
nextel:55*89*25546

|-- Antes de Imprimir, pense em sua responsabilidade com o Meio Ambiente --|

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]