Na primeira interação do loop, a variável $LINHA acaba ficando com o 
valor "5729|234|1|2008-10-24",
então,  as variáveis $nom e $ema ficam vazias.

Na segunda interação, $LINHA fica com "15:50:07.903|Simone" e assim por 
diante ...

Os espaços em branco estão sendo considerados como separadores ...

O separador dos campos como "|" ou "," não esta fazendo diferença ...

Se eu usar "for LINHA in `sed 's/,/|/g' $1`; do "  ou "for LINHA in $1; 
do" os espaços em branco continuariam a atrapalhar.


Isamp escreveu:
> No loop for abaixo, $1 é um arquivo com a seguinte estrutura:
>
> 5729,234,1,2008-10-24 15:50:07.903,Simone Barbosa,51 33551, 
> ,[EMAIL PROTECTED],A
> 5730,234,1,2008-10-24 15:50:33.230,Valdeni Floriano,51 33333, 
> ,[EMAIL PROTECTED],A
>
> for LINHA in `sed 's/,/|/g' $1`; do
>     tur=`echo $LINHA | /bin/cut -d"|" -f2`
>     nom=`echo $LINHA | /bin/cut -d"|" -f5`
>     ema=`echo $LINHA | /bin/cut -d"|" -f8`
>     echo $nom - $tur - $ema
>     ./outroscript1.sh $nom
>     ./outroscript2.sh $tur $ema
> done
>
>
>   

Responder a