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: Mauricio
Subject: Re: [shell-script] substituir texto entre tags
Date: Thu, 27 Oct 2005 13:35:18 -0200
User-agent: Mozilla Thunderbird 1.0.7 (X11/20050923)

Oi...
Tenta

sed 's/<fs:JobStarted>.*/${x}/g' teste.dat >

Abraćo
Ricio


murgent_shell wrote:
qdo coloco o echo na frente (echo  sed
's/<fs:JobStarted>.*/'$x'/g' teste.dat > x.dat) o que
vejo eh tudo ocorrendo de forma correta, ou seja, x eh
devidamente "resolvido"

tenho estado a dias em cima deste script e nada de
resolver isso.

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


TA

faz o seguinte: coloca um echo na frente do sed.

de repente $x tem algo que o sed não gosta dentro
dele...


Em 21/10/05,
murgent_shell<address@hidden> escreveu:

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

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


---------------------------------------------------------------------
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
---------------------------------------------------------------------
Links do Yahoo! Grupos








reply via email to

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