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.
[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 `;