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