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

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

Re: [shell-script] substituir texto entre tags


From: murgent_shell
Subject: Re: [shell-script] substituir texto entre tags
Date: Fri, 21 Oct 2005 17:19:09 +0000 (GMT)

--- Tiago Barcellos Peczenyj
<address@hidden> escreveu:

> Tche,
> 
> 1) qual a mensagem de erro ?

sed: -e expressão #1, caractere 23: unterminated `s'
command

> 2) experimenta trocar assim: sed
> 's/<fs:JobStarted>.*/'"${x}"'/g'
> teste.dat > x.dat

mesma coisa
 
> 3) vc tem controle sobre o arq.dat, teste.dat e o
> x.dat ? tipo se vc
> pegar o resultado de $x que vc escreve na tela,
> jogar no linha do sed
> acima, vc tem o resultado que vc quer ? está tudo
> como vc imagina ?

sim tudo certo, o que percebo eh que se x receber o
valor de um comando ou expressão dá pau!!!

Tô tentando de tudo, mas não funciona.

> Em 20/10/05,
> murgent_shell<address@hidden> escreveu:
> >
> >  Tiago muito obrigado pela força, mas eu sou um
> mortal
> >  medíocre mesmo, não estou entendo...
> >
> >  tenho o seguinte script:
> >
> >  #!/bin/bash
> >
> >  logFile="arq.dat"
> >
> >  func()
> >  {
> >  x=$(echo $LINHA | sed -u -e s/[][\']//g -e
> >  s/:[0-9][0-9][0-9]// | awk -F" " '{print $1 $2 $6
> >  $12}')
> >
> >  sed 's/<fs:JobStarted>.*/'$x'/g' teste.dat >
> x.dat
> >  }
> >
> >  func1()
> >  {
> >  echo $LINHA
> >  }
> >
> >  tail -f $logFile --lines=1 | while read LINHA; do
> >
> >  case $LINHA in
> >  *of:105*) func $LINHA
> >  ;;
> >  *of:107*) func1 $LINHA
> >  ;;
> >  esac;
> >
> >  done
> >
> >
> >  Se eu imprimir o $x (dentro da função) vejo o
> conteúdo
> >  correto, se eu coloco como esta no script
> >
> >  sed 's/<fs:JobStarted>.*/'$x'/g' teste.dat >
> x.dat
> >
> >  a msg de erro permanece, jpa fiz esse script de
> "mil
> >  formas" diferentes, mas não consigo entender.
> >
> >  se $x fosse resultado de uma atribuição simples
> como
> >  a=7 funciona tb.
> >
> >  ????????????????????????????????????????
> >
> >
> >
> >  --- Tiago Barcellos Peczenyj
> >  <address@hidden> escreveu:
> >
> >  > Tenta assim:
> >  >
> >  > sed 's/data/'"`date`"'/g' arquivo
> >  >
> >  > a sequencia é aspas simples, aspas duplas,
> crase,
> >  > comando, crase,
> >  > aspas duplas, aspas simples
> >  >
> >  > ou
> >  >
> >  > sed 's/data/'"$(date)"'/g' arquivo
> >  >
> >  > substitui a crase por $(comando)
> >  >
> >  > Em 19/10/05,
> >  > murgent_shell<address@hidden>
> escreveu:
> >  > >
> >  > >  tenho um script que estou fazendo isso aí
> >  > >
> >  > >  x=`date`
> >  > >  sed "s/coisa/$x/" arq
> >  > >
> >  > >  TUDO FUNCIONA, mas em outro script não
> funciona e
> >  > >  retorna a seguinte msg :
> >  > >
> >  > >  sed: -e expressão #1, caractere n: unknown
> option
> >  > to
> >  > >  `s'
> >  > >
> >  > >  não entendo porque.
> >  > >
> >  > >
> >  > >  --- Tiago Barcellos Peczenyj
> >  > >  <address@hidden> escreveu:
> >  > >
> >  > >  > Use o bom e velho sed
> >  > >  >
> >  > >  > sed 's/<tag1>.*</<tag1>outracoisa</g' algo
> >  > >  >
> >  > >  > onde .* representa qualquer sequencia de
> >  > caracteres.
> >  > >  >
> >  > >  > Em 18/10/05,
> >  > >  > murgent_shell<address@hidden>
> >  > escreveu:
> >  > >  > >  Olá pessoal
> >  > >  > >
> >  > >  > >  Qual a maneira correta de substituir um
> >  > >  > determinado
> >  > >  > >  conteúdo que esteja entre uma tag.
> >  > >  > >
> >  > >  > >  <tag1>qqcoisa</tag1>
> >  > >  > >  por
> >  > >  > >  <tag1>xxxx</tag1>
> >  > >  > >
> >  > >  > >  Importante: preciso substituir o que
> esta
> >  > entre
> >  > >  > as
> >  > >  > >  tags, pois o conteúdo entre tags eh
> sempre
> >  > >  > variável.
> >  > >  > >
> >  > >  > >  Até +
> >  > >  > >
> >  > >  > >
> >  > >  > >
> >  > >  > >
> >  > >  > >
> >  > >  > >
> >  > >  > >
> >  > >  > >
> >  > >  > >
> >  > >  >
> >  > >
> >  >
> > 
>
_______________________________________________________
> >  > >  > >  Promoção Yahoo! Acesso Grátis: a cada
> hora
> >  > >  > navegada você acumula cupons e
> >  > >  > > concorre a mais de 500 prêmios!
> Participe!
> >  > >  > http://yahoo.fbiz.com.br/
> >  > >  > >
> >  > >  > >
> >  > >  > >
> >  > >  >
> >  > >
> >  >
> >
>
---------------------------------------------------------------------
> >  > >  > >  Esta lista não admite a abordagem de
> outras
> >  > >  > liguagens de programação, como
> >  > >  > > perl, C etc. Quem insistir em não seguir
> esta
> >  > >  > regra será moderado sem prévio
> >  > >  > > aviso.
> >  > >  > >
> >  > >  >
> >  > >
> >  >
> >
>
---------------------------------------------------------------------
> >  > >  > >  Sair da lista:
> >  > >  >
> address@hidden
> >  > >  > >
> >  > >  >
> >  > >
> >  >
> >
>
---------------------------------------------------------------------
> >  > >  > >  Esta lista é moderada de acordo com o
> >  > previsto em
> >  > >  > > http://www.listas-discussao.cjb.net
> >  > >  > >
> >  > >  >
> >  > >
> 
=== message truncated ===



        



        
                
_______________________________________________________ 
Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e 
concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/


reply via email to

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