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 > > >