[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] substituir texto entre tags
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] substituir texto entre tags |
Date: |
Fri, 21 Oct 2005 15:29:44 -0200 |
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é +
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> _______________________________________________________
> > > > > > > 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/
>
>
>
> ---------------------------------------------------------------------
> 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
> ---------------------------------------------------------------------
>
>
>
>
> Yahoo! Grupos, um serviço oferecido por:
>
> ________________________________
> Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.
- substituir texto entre tags, murgent_shell, 2005/10/18
- Re: [shell-script] substituir texto entre tags, Tiago Barcellos Peczenyj, 2005/10/18
- Re: [shell-script] substituir texto entre tags, murgent_shell, 2005/10/19
- Re: [shell-script] substituir texto entre tags, murgent_shell, 2005/10/19
- Re: [shell-script] substituir texto entre tags, Tiago Barcellos Peczenyj, 2005/10/19
- Re: [shell-script] substituir texto entre tags, murgent_shell, 2005/10/20
- Re: [shell-script] substituir texto entre tags, Tiago Barcellos Peczenyj, 2005/10/21
- Re: [shell-script] substituir texto entre tags, murgent_shell, 2005/10/21
- Re: [shell-script] substituir texto entre tags,
Tiago Barcellos Peczenyj <=
- Re: [shell-script] substituir texto entre tags, murgent_shell, 2005/10/27
- Re: [shell-script] substituir texto entre tags, Mauricio, 2005/10/27
- Re: [shell-script] substituir texto entre tags, murgent_shell, 2005/10/27
Re: [shell-script] substituir texto entre tags, Alexandre Vieira Santos, 2005/10/27