On 3/31/07, Danilo Gimenez Ramos <address@hidden> 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