você está aqui: Home  → Arquivo de Mensagens

sed - alterações sem arquivos temporários

Colaboração: Rodrigo Bernardo Pimentel

Data de Publicação: 02 de Novembro de 2004

O modo mais comum de se utilizar o sed, quando se desejam fazer alterações em um arquivo, é jogar as alterações em um arquivo temporário, depois mover este para o arquivo original:

  sed 's/foo/bar/g' arquivo > arquivo.tmp && mv arquivo.tmp arquivo

Esta forma é inclusive usada com freqüência nas mensagens veiculadas na dicas-l.

No entanto, desde a versão 3.95 (pelo que pude verificar), existe a opção "--in-place" (ou "-i"), que permite a edição direta do arquivo:

  sed -i 's/foo/bar/g' arquivo

Pode-se também especificar um sufixo para o "-i", de forma que o arquivo original seja copiado para o nome original, acrescentado do sufixo, antes de ser alterado, criando, na prática, um arquivo de backup:

  sed -i.bak 's/foo/bar/g' arquivo

Isto altera "arquivo" (todas as ocorrências de "foo" são substituídas por "bar"), criando "arquivo.bak" com o conteúdo original de "arquivo" (antes da substituição).

Notas: O sufixo deve estar junto ao "-i", não pode ser separado por espaços, como normalmente é permitido em argumentos de linha de comando. Se for utilizado o formato longo, o formato é "--in-place=sufixo".



 

 

Veja a relação completa dos artigos de Rodrigo Bernardo Pimentel

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script