[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Processar o arquivo linha por linha - Versão 2
From: |
Flavio Junior |
Subject: |
Re: [shell-script] Processar o arquivo linha por linha - Versão 2 |
Date: |
Sun, 17 Jun 2007 19:56:45 -0300 |
O loop faz mais interaçoes do que vc imaginava por que ele nao conta linhas,
ele conta campos, e campos sao coisas separadas pelo IFS..
Veja qeu tem exatamente 8 CAMPOS no seu arquivo:
> linuxuser@slave1:~$ cat arq
> 5729|234|1|2008-10-24 15:50:07.903|Simone Barbosa|51
> 33551|address@hidden <33551%7Ctbing%40xxx.com.br>|A
> 5730|234|1|2008-10-24 15:50:33.230|Valdeni Floriano|51
> 33333|address@hidden <33333%7Cnenhum%40nenhum.com.br>|A
Visto que um dos valores do IFS e o espaço em branco.
Pra fazer o que v deseja, faça com o while ou altere o IFS antes do for,
exemplos;
while IFS='|' read -r TURMA NOME MAIL; do
echo -e "Turma: $TURMA\nNome: $NOME\nMAIL: $MAIL"
done < arq
Com o for:
OIFS=$IFS
IFS='|'
for VAR in $(cat arq); do echo $VAR; done
IFS=$OIFS # recuperando o valor do IFS original, senao zua tudo na sessao.
Veja que o for vai fica uma bosta, por que nao da pra atribuir varias
variaveis ao mesmo tempo, como no while..
Acho q isso te ajdua
Flavio do Carmo Junior
On 6/17/07, Isamp <address@hidden> wrote:
>
> Desculpe ... eu não entendi ...
>
> Flavio Torres escreveu:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Isamp wrote:
> >
> >> Olá colegas,
> >>
> >> A algum tempo eu postei aqui na lista minha necessidade de processar um
> >> arquivo linha por linha, conforme exemplo abaixo:
> >>
> >>
> >
> > Oi,
> >
> > linuxuser@slave1:~$ cat arq
> > 5729|234|1|2008-10-24 15:50:07.903|Simone Barbosa|51
> > 33551|address@hidden <33551%7Ctbing%40xxx.com.br>|A
> > 5730|234|1|2008-10-24 15:50:33.230|Valdeni Floriano|51
> > 33333|address@hidden <33333%7Cnenhum%40nenhum.com.br>|A
> >
> >
> > linuxuser@slave1:~$ awk -F\| '{print
> > "tur="$2",","nome="$5",","email="$7}' arq
> > tur=234, nome=Simone Barbosa,
> > email=address@hidden<email%3Dtbing%40xxx.com.br>
> > tur=234, nome=Valdeni Floriano,
> > email=address@hidden<email%3Dnenhum%40nenhum.com.br>
> >
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
[As partes desta mensagem que não continham texto foram removidas]