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

[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!.


reply via email to

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