você está aqui: Home → Arquivo de Mensagens
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
.