[shell-script] Duvidas While Read

2007-08-30 Por tôpico h_marinox
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




[shell-script] substituir caracter em valor da variavel.

2007-09-04 Por tôpico h_marinox
[moderacao]Teste assim : echo ${VAR#0} [/moderacao]

Pessoal,

  Estou me aventurando em shell-script e estou me deparando com
algumas dificuldades devido a falta de conhecimento técnico.

  O caso é que eu preciso de uma variável contendo o dia atual
extraído do date +"%d".
Ex:

  DIA=`date +"%d"`

  echo $DIA = 04

  Eu preciso substituir o 0 do valor da variável por espaço " ".
Porque o relatório gerado pelo Oracle adiciona espaço no lugar do 0 e
eu não consigo localizar a linha por conta disto.

Alguém tem alguma dica para eu substituir o 0 pelo espaço?

eu tentei o seguinte:

  DIA=${DIA/#0/" "}

  mas retorna o segunte erro:

ksh: DIA=${DIA/#0/" "}: 0403-011 The specified substitution is not
valid for this command.


Obrigado a todos,

Humberto Marino



Re: RES: [shell-script] substituir caracter em valor da variavel.

2007-09-04 Por tôpico h_marinox
Elvio, 

  Só tem um detalhe, eu preciso do espaço no lugar do zero

 a string original é "04" e deve ser " 4"

Obrigado pela ajuda,

Humberto Marino



--- Em shell-script@yahoogrupos.com.br, Élvio Barbalho <[EMAIL PROTECTED]>
escreveu
>
> Acho que resolve
> 
> [EMAIL PROTECTED] elvio]$ d=$(date +"%d")
> [EMAIL PROTECTED] elvio]$ echo $d
> 04
> [EMAIL PROTECTED] elvio]$ d=$(echo $d | sed 's/^0//')
> [EMAIL PROTECTED] elvio]$ echo $d
> 4
> [EMAIL PROTECTED] elvio]$ d=$(echo $d | sed 's/^0/ /')
> [EMAIL PROTECTED] elvio]$ echo $d
> 4
> [EMAIL PROTECTED] elvio]$
> 
>   - Mensagem original -
>   De: shell-script@yahoogrupos.com.br
> [SMTP:[EMAIL PROTECTED] Em nome de h_marinox
>   Enviada em: terça-feira, 4 de setembro de 2007 12:00
>   Para:   shell-script@yahoogrupos.com.br
>   Assunto:[shell-script] substituir caracter em valor
> da variavel.
> 
>   [moderacao]Teste assim : echo ${VAR#0} [/moderacao]
>   
>   Pessoal, 
>   
>   Estou me aventurando em shell-script e estou me deparando com
>   algumas dificuldades devido a falta de conhecimento técnico.
>   
>   O caso é que eu preciso de uma variável contendo o dia atual
>   extraído do date +"%d". 
>   Ex:
>   
>   DIA=`date +"%d"`
>   
>   echo $DIA = 04
>   
>   Eu preciso substituir o 0 do valor da variável por espaço " ".
>   Porque o relatório gerado pelo Oracle adiciona espaço no lugar do 0
> e
>   eu não consigo localizar a linha por conta disto.
>   
>   Alguém tem alguma dica para eu substituir o 0 pelo espaço?
>   
>   eu tentei o seguinte:
>   
>   DIA=${DIA/#0/" "}
>   
>   mas retorna o segunte erro: 
>   
>   ksh: DIA=${DIA/#0/" "}: 0403-011 The specified substitution is not
>   valid for this command.
>   
>   Obrigado a todos,
>   
>   Humberto Marino
>




Re: RES: [shell-script] substituir caracter em valor da variavel.

2007-09-04 Por tôpico h_marinox

Como faço isso?

Não estou conseguindo colocar o espaço.

Obrigado


--- Em shell-script@yahoogrupos.com.br, "Tiago Barcellos Peczenyj"
<[EMAIL PROTECTED]> escreveu
>
> Ai vc troca o 0 do começo da string por um espaço em branco via SED ;-)
> 
> On 9/4/07, h_marinox <[EMAIL PROTECTED]> wrote:
> >
> >   Elvio,
> >
> > Só tem um detalhe, eu preciso do espaço no lugar do zero
> >
> > a string original é "04" e deve ser " 4"
> >
> > Obrigado pela ajuda,
> >
> > Humberto Marino
> >
> > --- Em shell-script@yahoogrupos.com.br
,
> > Élvio Barbalho 
> > escreveu
> >
> > >
> > > Acho que resolve
> > >
> > > [EMAIL PROTECTED] elvio]$ d=$(date +"%d")
> > > [EMAIL PROTECTED] elvio]$ echo $d
> > > 04
> > > [EMAIL PROTECTED] elvio]$ d=$(echo $d | sed 's/^0//')
> > > [EMAIL PROTECTED] elvio]$ echo $d
> > > 4
> > > [EMAIL PROTECTED] elvio]$ d=$(echo $d | sed 's/^0/ /')
> > > [EMAIL PROTECTED] elvio]$ echo $d
> > > 4
> > > [EMAIL PROTECTED] elvio]$
> > >
> > > - Mensagem original -
> > > De: shell-script@yahoogrupos.com.br

> > >
[SMTP:shell-script@yahoogrupos.com.br]
> > Em nome de h_marinox
> > > Enviada em: terça-feira, 4 de setembro de 2007 12:00
> > > Para:
shell-script@yahoogrupos.com.br
> > > Assunto: [shell-script] substituir caracter em valor
> > > da variavel.
> > >
> > > [moderacao]Teste assim : echo ${VAR#0} [/moderacao]
> > >
> > > Pessoal,
> > >
> > > Estou me aventurando em shell-script e estou me deparando com
> > > algumas dificuldades devido a falta de conhecimento técnico.
> > >
> > > O caso é que eu preciso de uma variável contendo o dia atual
> > > extraído do date +"%d".
> > > Ex:
> > >
> > > DIA=`date +"%d"`
> > >
> > > echo $DIA = 04
> > >
> > > Eu preciso substituir o 0 do valor da variável por espaço " ".
> > > Porque o relatório gerado pelo Oracle adiciona espaço no lugar do 0
> > > e
> > > eu não consigo localizar a linha por conta disto.
> > >
> > > Alguém tem alguma dica para eu substituir o 0 pelo espaço?
> > >
> > > eu tentei o seguinte:
> > >
> > > DIA=${DIA/#0/" "}
> > >
> > > mas retorna o segunte erro:
> > >
> > > ksh: DIA=${DIA/#0/" "}: 0403-011 The specified substitution is not
> > > valid for this command.
> > >
> > > Obrigado a todos,
> > >
> > > Humberto Marino
> > >
> >
> >  
> >
> 
> 
> 
> -- 
> Tiago B Peczenyj
> Linux User #405772
> 
> http://peczenyj.blogspot.com/
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




Re: RES: RES: [shell-script] substituir caracter em valor da variavel .

2007-09-04 Por tôpico h_marinox
Elvio, to chato né...rs

  Eu entendi o exemplo, mas o problema é que ainda sim só retorna o 4
e eu preciso de [espaço]4.(_4). Falta pouquinho, mas não estou achando
 como inserir espaço antes do caracter que sobra.

Valeu pela atenção

--- Em shell-script@yahoogrupos.com.br, Élvio Barbalho <[EMAIL PROTECTED]>
escreveu
>
> Humberto no último exemplo esta como vc quer veja:
> 
> [EMAIL PROTECTED] elvio]$ d=$(date +"%d")
> [EMAIL PROTECTED] elvio]$ d=$(echo $d | sed 's/^0/ /')
> [EMAIL PROTECTED] elvio]$ echo $d
> 4
> [EMAIL PROTECTED] elvio]$ echo "$d"
>  4
> 
> 
>   - Mensagem original -
>   De:     shell-script@yahoogrupos.com.br
> [SMTP:[EMAIL PROTECTED] Em nome de h_marinox
>   Enviada em: terça-feira, 4 de setembro de 2007 14:21
>   Para:   shell-script@yahoogrupos.com.br
>   Assunto:Re: RES: [shell-script] substituir caracter
> em valor da variavel.
> 
>   Elvio, 
>   
>   Só tem um detalhe, eu preciso do espaço no lugar do zero
>   
>   a string original é "04" e deve ser " 4"
>   
>   Obrigado pela ajuda,
>   
>   Humberto Marino
>   
>   --- Em shell-script@yahoogrupos.com.br
> <mailto:shell-script%40yahoogrupos.com.br> , Élvio Barbalho 
>   escreveu
>   >
>   > Acho que resolve
>   > 
>   > [EMAIL PROTECTED] elvio]$ d=$(date +"%d")
>   > [EMAIL PROTECTED] elvio]$ echo $d
>   > 04
>   > [EMAIL PROTECTED] elvio]$ d=$(echo $d | sed 's/^0//')
>   > [EMAIL PROTECTED] elvio]$ echo $d
>   > 4
>   > [EMAIL PROTECTED] elvio]$ d=$(echo $d | sed 's/^0/ /')
>   > [EMAIL PROTECTED] elvio]$ echo $d
>   > 4
>   > [EMAIL PROTECTED] elvio]$
>   > 
>   > - Mensagem original -
>   > De: shell-script@yahoogrupos.com.br
> <mailto:shell-script%40yahoogrupos.com.br> 
>   > [SMTP: shell-script@yahoogrupos.com.br
> <mailto:shell-script%40yahoogrupos.com.br> ] Em nome de h_marinox
>   > Enviada em: terça-feira, 4 de setembro de 2007 12:00
>   > Para: shell-script@yahoogrupos.com.br
> <mailto:shell-script%40yahoogrupos.com.br> 
>   > Assunto: [shell-script] substituir caracter em valor
>   > da variavel.
>   > 
>   > [moderacao]Teste assim : echo ${VAR#0} [/moderacao]
>   > 
>   > Pessoal, 
>   > 
>   > Estou me aventurando em shell-script e estou me deparando com
>   > algumas dificuldades devido a falta de conhecimento técnico.
>   > 
>   > O caso é que eu preciso de uma variável contendo o dia atual
>   > extraído do date +"%d". 
>   > Ex:
>   > 
>   > DIA=`date +"%d"`
>   > 
>   > echo $DIA = 04
>   > 
>   > Eu preciso substituir o 0 do valor da variável por espaço " ".
>   > Porque o relatório gerado pelo Oracle adiciona espaço no lugar do
> 0
>   > e
>   > eu não consigo localizar a linha por conta disto.
>   > 
>   > Alguém tem alguma dica para eu substituir o 0 pelo espaço?
>   > 
>   > eu tentei o seguinte:
>   > 
>   > DIA=${DIA/#0/" "}
>   > 
>   > mas retorna o segunte erro: 
>   > 
>   > ksh: DIA=${DIA/#0/" "}: 0403-011 The specified substitution is not
>   > valid for this command.
>   > 
>   > Obrigado a todos,
>   > 
>   > Humberto Marino
>   >
>




Re: RES: RES: [shell-script] substituir caracter em valor da variavel .

2007-09-04 Por tôpico h_marinox
Perfeito,

  Obrigado pessoal

Humberto Marino

--- Em shell-script@yahoogrupos.com.br, "Flavio Junior" <[EMAIL PROTECTED]>
escreveu
>
> Seu probelma não é inserir o espaço ali...
> Seu problema é q o espaço mais a esquerda é ignorado pelo shell:
> lazlo:/logs# x="  a"
> lazlo:/logs# echo $x
> a
> lazlo:/logs# echo "$x"
>   a
> 
> Talvez isso ajude.
> 
> 
> Flávio do Carmo Junior
> 
> On 9/4/07, h_marinox <[EMAIL PROTECTED]> wrote:
> >
> >   Elvio, to chato né...rs
> >
> > Eu entendi o exemplo, mas o problema é que ainda sim só retorna o 4
> > e eu preciso de [espaço]4.(_4). Falta pouquinho, mas não estou achando
> > como inserir espaço antes do caracter que sobra.
> >
> > Valeu pela atenção
> >
> > --- Em shell-script@yahoogrupos.com.br
,
> > Élvio Barbalho 
> > escreveu
> > >
> > > Humberto no último exemplo esta como vc quer veja:
> > >
> > > [EMAIL PROTECTED] elvio]$ d=$(date +"%d")
> > > [EMAIL PROTECTED] elvio]$ d=$(echo $d | sed 's/^0/ /')
> > > [EMAIL PROTECTED] elvio]$ echo $d
> > > 4
> > > [EMAIL PROTECTED] elvio]$ echo "$d"
> > > 4
> > >
> > >
> > > - Mensagem original -
> > > De: shell-script@yahoogrupos.com.br

> > >
[SMTP:shell-script@yahoogrupos.com.br]
> > Em nome de h_marinox
> > > Enviada em: terça-feira, 4 de setembro de 2007 14:21
> > > Para:
shell-script@yahoogrupos.com.br
> > > Assunto: Re: RES: [shell-script] substituir caracter
> > > em valor da variavel.
> > >
> > > Elvio,
> > >
> > > Só tem um detalhe, eu preciso do espaço no lugar do zero
> > >
> > > a string original é "04" e deve ser " 4"
> > >
> > > Obrigado pela ajuda,
> > >
> > > Humberto Marino
> > >
> > > --- Em
shell-script@yahoogrupos.com.br
> > > <mailto:shell-script%40yahoogrupos.com.br> , Élvio Barbalho 
> > > escreveu
> > > >
> > > > Acho que resolve
> > > >
> > > > [EMAIL PROTECTED] elvio]$ d=$(date +"%d")
> > > > [EMAIL PROTECTED] elvio]$ echo $d
> > > > 04
> > > > [EMAIL PROTECTED] elvio]$ d=$(echo $d | sed 's/^0//')
> > > > [EMAIL PROTECTED] elvio]$ echo $d
> > > > 4
> > > > [EMAIL PROTECTED] elvio]$ d=$(echo $d | sed 's/^0/ /')
> > > > [EMAIL PROTECTED] elvio]$ echo $d
> > > > 4
> > > > [EMAIL PROTECTED] elvio]$
> > > >
> > > > - Mensagem original -
> > > > De:
shell-script@yahoogrupos.com.br
> > > <mailto:shell-script%40yahoogrupos.com.br>
> > > > [SMTP:
shell-script@yahoogrupos.com.br
> > > <mailto:shell-script%40yahoogrupos.com.br> ] Em nome de h_marinox
> > > > Enviada em: terça-feira, 4 de setembro de 2007 12:00
> > > > Para:
shell-script@yahoogrupos.com.br
> > > <mailto:shell-script%40yahoogrupos.com.br>
> > > > Assunto: [shell-script] substituir caracter em valor
> > > > da variavel.
> > > >
> > > > [moderacao]Teste assim : echo ${VAR#0} [/moderacao]
> > > >
> > > > Pessoal,
> > > >
> > > > Estou me aventurando em shell-script e estou me deparando com
> > > > algumas dificuldades devido a falta de conhecimento técnico.
> > > >
> > > > O caso é que eu preciso de uma variável contendo o dia atual
> > > > extraído do date +"%d".
> > > > Ex:
> > > >
> > > > DIA=`date +"%d"`
> > > >
> > > > echo $DIA = 04
> > > >
> > > > Eu preciso substituir o 0 do valor da variável por espaço " ".
> > > > Porque o relatório gerado pelo Oracle adiciona espaço no lugar do
> > > 0
> > > > e
> > > > eu não consigo localizar a linha por conta disto.
> > > >
> > > > Alguém tem alguma dica para eu substituir o 0 pelo espaço?
> > > >
> > > > eu tentei o seguinte:
> > > >
> > > > DIA=${DIA/#0/" "}
> > > >
> > > > mas retorna o segunte erro:
> > > >
> > > > ksh: DIA=${DIA/#0/" "}: 0403-011 The specified substitution is not
> > > > valid for this command.
> > > >
> > > > Obrigado a todos,
> > > >
> > > > Humberto Marino
> > > >
> > >
> >
> >  
> >
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>