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

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

Valor perdido ao sair de loop


From: Geison Farias
Subject: Valor perdido ao sair de loop
Date: Thu, 14 Sep 2006 17:24:11 -0300
User-agent: Thunderbird 1.5.0.5 (Windows/20060719)


Olá pessoal,

Me deparei um um prob. que não sei explicar:

-simples busca das linhas iniciadas com 9 e que tenham a letra "j" na posição 10;
encontrando, concatene campos desta linha com os campos das demais linhas...

RESULTADO: quando sai do loop o valor do meu resultado é perdido!
(resolvi parcialmente aqui, jogando para um arquivo, mas gostaria que fosse todo em
variável). Alguém poderia explicar ?

--------------------------INICIO_SCRIPT
#!/bin/bash
# a variavel A tem um ENTER em cada da linha
A="
9jhkagsdkjhkjhasgdkjhdsag
9jkhdasgdjkhagsdjkhasgdjk
9kjhdsagkjdhgaksjhdgajsghd
9lkjsahdlkjsahlkdjhaslkdjhakls
9jdhsdjhsjdhjshdjshdjshdjs
1dddddddddddddddd
2rrrrrrrrrrrrrrrr"

JUNTA=""
CAMPOS=""
LINHAS=$( echo "$A"| grep -c "^9........j" )

echo "LINHAS=$LINHAS"

echo "$A"| grep "^9........j" | while read LINHA
do
   C1=${LINHA:2:3}
   C2=${LINHA:6:3}
   C3=${LINHA:8:3}
   C4=${LINHA:14:3}

   echo "C1=$C1"
   echo "C2=$C2"
   echo "C3=$C3"
   echo "C4=$C4"

   CAMPOS="${C1}${C2}${C3}${C4}---"
   echo "dentro_CAMPOS=$CAMPOS"

   JUNTA=${JUNTA}${CAMPOS}
   echo "dentro_JUNTA=${JUNTA}"

done

echo "fora_JUNTA=${JUNTA}"
-----------------------------FIM_SCRIPT

resultado aqui:

[geison@mar teste]$ ./teste.sh
LINHAS=4
C1=hka
C2=sdk
C3=kjh
C4=asg
dentro_CAMPOS=hkasdkkjhasg---
dentro_JUNTA=hkasdkkjhasg---
C1=khd
C2=sgd
C3=djk
C4=sdj
dentro_CAMPOS=khdsgddjksdj---
dentro_JUNTA=hkasdkkjhasg---khdsgddjksdj---
C1=jhd
C2=agk
C3=kjd
C4=ksj
dentro_CAMPOS=jhdagkkjdksj---
dentro_JUNTA=hkasdkkjhasg---khdsgddjksdj---jhdagkkjdksj---
C1=dhs
C2=jhs
C3=sjd
C4=hdj
dentro_CAMPOS=dhsjhssjdhdj---
dentro_JUNTA=hkasdkkjhasg---khdsgddjksdj---jhdagkkjdksj---dhsjhssjdhdj---
fora_JUNTA=

??? CADÊ o valor de JUNTA quando sai do loop???


Obrigado.

Geison Farias
Recife - PE








reply via email to

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