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

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

Re: ler arquivo csv


From: gimenez.danilo
Subject: Re: ler arquivo csv
Date: Mon, 02 Apr 2007 03:38:12 -0000
User-agent: eGroups-EW/0.82

--- Em address@hidden, edjunior <edjunior@...> escreveu
>
> hey,
> 
> em awk também fica bem simples:
> 
> $ awk -F';' '{printf "num: %s\nnome: %s\ndado: %s\n\n", $1,$2,$3 }'
arquivo.csv
> 
> hasta!
> 
> jr.
> 
> On 3/31/07, Augusto Cezar Amaral <augusto.cezar@...> wrote:
> > On 3/31/07, Danilo Gimenez Ramos <gimenez.danilo@...> wrote:
> > > Pessoal, eu queria fazer um  script que lesse um arquivo que
está em csv
> > >              e tem tres campos separados por ponto e virgula.
> > > Separa o nome na variavel nome e o usuario na variavel usuario.
> > > se eu faço no shell por exemplo: $ cat nomes.csv | cut -f2 -d';'
> > > eu consigo os nome e se trocar o f2 por f3 eu pego os usuarios.
> > >
> > > Tentei fazer o seguinte script:
> > >
> > > #!/bin/bash
> > >
> > > LINHA='x'
> > >
> > > while ! [ "$LINHA" = '' ]
> > > do
> > >          LINHA="`cat -n $1`"
> > >          NOME="`echo $LINHA|cut -f2 -d';'`"
> > >          echo "$NOME"
> > >          if [ "$LINHA" = '' ]
> > >          then
> > >                  break
> > >          fi
> > > done
> > >
> > > Só que tem dois problemas por enquanto:
> > > um deles é que o loop fica infinito, ele não para a execução no
break do
> > > if e eu não to conseguindo atribuir na variavel NOME a saída de echo
> > > $LINHA|cut -f2 -d';'
> > >
> > > aqui um exemplo do meu arquivo csv:
> > >
> > > 1;Camila Pacheco de Carvalho Almeida;t137563
> > > 2;Cristiane da S Moraes;t137610
> > > 3;Eliane Menezes Pereira;t137611
> > >
> >
> > Vc pode usar uma construção do tipo:
> >
> > while read LINHA; do echo "$LINHA"; done < <(cut -f2 -d";" $1)
> >
> >
> > --
> > Augusto Cezar Amaral da C Silva
> >
> >
> > ---------------------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de
programação, como perl, C etc. Quem insistir em não seguir esta regra
será moderado sem prévio aviso.
> > ---------------------------------------------------------------------
> > Sair da lista: address@hidden
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
> > ---------------------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> >
> > Links do Yahoo! Grupos
> >
 Obrigado a todos, as três dicas me serviram, e o meu script ficou bem
mais simples do que eu pensei que ficaria !!

Att.

Danilo Gimenez Ramos




reply via email to

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