Pular para o conteúdo

Trocando letrinhas em segundos (sed)

Dica publicada em Shell Script / Miscelânea
Priscilla Pedde DebianWoman
Hits: 21.139 Categoria: Shell Script Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

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.

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 usar o jSMS direto do pen drive

Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)

HD externo em EXT4 com a praticidade da NTFS - FUSB

Como obter informações sobre o sistema com inxi

Como restaurar as cores do terminal

#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.