Bash – Substituindo string com SED

9 11 2012

Se você precisa substituir palavras em arquivos utilizando uma expressão regular, o SED é uma boa alternativa, abaixo segue alguns exemplos simples para substituir TAG’s (para pesquisar caracteres especiais como ‘/’ é necessário dizer colocar uma contra barra ‘\’)

Descrição comando:

sed ‘s/PESQUISA/SUSTITUICAO/g’ <ARQUIVO>

‘s’: de string

‘g’: de global para todas as strings

Exemplo1: sustituir  ‘Banana’ por ‘Laranja’

Comando:

sed -i ‘s/Banana/Laranja/g’ .project

Resultado:

  • Antes: A Banana é uma fruta tropical!
  • Depois: A Laranja é uma fruta tropical!

Exemplo2: sustituir  ‘</name>’ por ‘2012</name>’

Comando:

sed -i ‘s/<\/name/2012<\/name/g’ .project

Resultado:

  • Antes: <name>Projeto</name>
  • Depois: <name>Projeto2012</name>

 

Exemplo prático:

##########################################################
# Define a versao dos modulos substituindo pela data atual
##########################################################
NOW=$(date +"%Y%m%d-%H%M%S")
VERSION=$NOW"_"BUILD_HOMOLOG_ID_$BUILD_NUMBER
find . -name versao.properties | grep -v classes | xargs sed -i 's/Versao\=.*/Versao=$VERSION/g'

 

PS: isso é apenas a pontinha do iceberg  do que esse comando é capaz, a ideia aqui é apenas sugerir um norte para a solução, fica a cargo de você pesquisar parâmetros mais avançados!

Anúncios

Ações

Information

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: