Pessoal,

  Estou fazendo um while read encadeado dentro de outro, mas o segundo
está anulando o primeiro. Alguém sabe me dizer se existe restrição
neste caso?

[moderação] vc poderia publicar o seu script em um site como o pastebin.com -- 
mandar algo tão 'largo' via emais as vezes fica confuso[/moderação]

exemplo:

cat $ORATAB | while read LINE
do
   case $LINE in
      \#*)
         ;; #Somente comentario
      *)
         ORACLE_SID=$(echo $LINE | awk -F: '{print $1}')
         if ! [ "$ORACLE_SID" = '*' -o "$ORACLE_SID" = "" ] ; then

                LOGFILE=log.$ORACLE_SID.$DATA
                rm -f $LOGFILE
                echo
                cut -c 1,1-30 |nl
$ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log|grep
"$DAT1" |grep "$ANO" |while read LINEALERT
                do
                  NUMERO=$(echo $LINEALERT | awk -F" " '{print $1}')
                  break
                done
#
#               nl $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log
|while read LINELOG
#               do
#                 VALORLINELOG=$(echo $LINELOG | awk -F" " '{print $1}')
#                 if [ $VALORLINELOG -gt $NUMERO ];then
#                   echo $LINELOG | tee -a $LOGFILE
#                 fi
#               done
         fi
         ;;
   esac
done


Responder a