[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] substituicao de texto
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] substituicao de texto |
Date: |
Fri, 26 Aug 2005 23:08:39 -0300 |
ola
a forma como vc deve usar o sed é essa :
sed 's/procura/substitui/g'
entre aspas simples. agora tente fazer :
A=7
echo $A
7
echo '$A'
$A
isso por que tudo dentro de aspas simples eh tratado como string, não
precisa escapar. vc escapa um monte de coisa dentro do sed por que o
sed exige assim, não o bash
como escapar ? simples:
sed -e 's/<\/teste>/'${var}'/g' teste.txt > saida # Desta forma ele
vc coloca $var entre aspas simples.assim vc passa a perna no sed :)
Em 26/08/05, leobash10<address@hidden> escreveu:
> olá pessoal.. sou novato aqui e em shell.
>
> estou com o seguinte problema, basicamente é: Preciso pegar uma
> palavra de dentro de um arquivo(sempre haverá duas palavras iguais
> neste arquivo e numero de linhas variadas) e substitui-la por um
> pequeno texto que estará em uma variável.
>
> vamos lá:
>
> arquivo teste.txt com o conteudo abaixo..estou tentando trocar o
> </teste>
>
> teste1..teste1..
> teste2..teste2..
> teste3..teste3..
> teste4..teste4..
> </teste>
> teste1..teste1..
> teste2..teste2..
> teste3..teste3..
> teste4..teste4..
> </teste>
>
> arquivo.txt com:
> isto e um TESTE
> teste70..teste80..
>
> crio uma variavel:
> var="`cat arquivo.txt`"
>
> e tento usar o SED para trocar.
> sed -e 's/<\/teste>/$var/g' teste.txt > saida # Desta forma ele
> escreve $var no arquivo teste.txt como uma string.
>
> já tentei usar:
> sed -e "s/<\/teste>/$var/g" teste.txt > saida
> sed -e "s/<\/teste>/${var}/g" teste.txt > saida
>
> mas retorna erro:
> sed: -e expression #1, char 28: Unknown option to `s'
>
> o bash que uso é 2.05b.. O arquivo saida teria que ficar assim:
>
> teste1..teste1..
> teste2..teste2..
> teste3..teste3..
> teste4..teste4..
> isto e um TESTE
> teste70..teste80..
> teste1..teste1..
> teste2..teste2..
> teste3..teste3..
> teste4..teste4..
> isto e um TESTE
> teste70..teste80..
>
>
> agradeço desde já a ajuda de vcs.obrigado
>
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> 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!.
- substituicao de texto, leobash10, 2005/08/26
- Re: [shell-script] substituicao de texto,
Tiago Barcellos Peczenyj <=