Pular para o conteúdo

Trocando letrinhas em segundos (sed)

Dica publicada em Shell Script / Miscelânea
Priscilla Pedde DebianWoman
Hits: 21.136 Categoria: Shell Script Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Trocando letrinhas em segundos (sed)

Galera,

Essa dica escrevi depois que me matei trocando palavra por palavra no sources.list acreditem ou não, pois estava querendo atualizar de Ubuntu Jaunty para Karmic.

Muito simples a dica e fácil de usar. Vamos comentar um pouco sobre a expressão regular sed.

Sintaxe geral:

sed expressão regular [arquivo]

Para entendermos melhor, vamos usar um exemplo que seja aplicável no dia-a-dia.

# sed 's/jaunty/karmic/g' etc/apt/sources.list > teste

Neste exemplo estamos substituindo todas as palavras "jaunty" por "karmic" dentro do arquivo sources.list:
  • "s" substitui
  • "jaunty" é a string origem
  • "karmic" é a string destino
  • "g" geral (todas as palavras jaunty serão substituídas por karmic)

Caso se interessem sobre o assunto, procurem em expressões regulares.

Leitura recomendada: NEVES, Julio Cezar. Programação Shell Linux.

Espero ter ajudado.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Links simbólicos e hard links

Traduzindo Thunderbird para pt_BR na velocidade da luz

Corrigindo erros no módulo do VirtualBox (Ubuntu)

Madwifi - Debian Etch

Criando assinaturas para autenticidade e segurança

Como obter informações sobre o sistema com inxi

Script que automatiza o envio de backup para o email

Configuração de placas de vídeo nVidia através do module assistant

Linux Omni-bot Autosetup 2011, programinha que facilita o uso do Omni-bot

Contabilizando Linhas e Palavras de um Projeto com Shell Script

#1 Comentário enviado por andregondim em 24/10/2009 - 11:22h
Legal a dica, só que acredito que seja melhor fazer update-manager -d é mais seguro que trocar só o sources.list

Abraços,
André Gondim
http://andregondim.eti.br/
#2 Comentário enviado por SMarcell em 25/10/2009 - 00:29h
Só uma correção na sua "dica":

"... Muito simples a dica e fácil de usar. Vamos comentar um pouco sobre a expressão regular sed."

O Sed não é uma expressão regular e sim um programa que opera com ER's.
#3 Comentário enviado por DebianWoman em 26/10/2009 - 08:52h
Valeu pela correção SMarcell.
#4 Comentário enviado por sneves em 27/10/2009 - 08:16h
Interessante.
Não deixa de não ser uma forma de realizar a operação.

Valeu!
[]s
#5 Comentário enviado por rafael.sisweb em 27/10/2009 - 14:36h
Como posso usar o sed para filtrar uma linha específica de um arquivo:
Eu tenho um arquivo de configuração que tem em cada linha uma configuração(não existe delimitador de linha) e eu gostaria de verificar se o valor de uma variável corresponde a uma destas linhas.

algo do tipo existeProibido=`sed -n -r '/(^${teste}$)/p' $proibidos `;

Valew;

Contribuir com comentário

Entre na sua conta para comentar.