Sed - como salvar alterações no arquivo

Publicado por Fábio Berbert de Paula em 02/06/2020

[ Hits: 5.296 ]

Blog: https://fabio.automatizando.dev

 


Sed - como salvar alterações no arquivo



Simples dica de como usar o sed para gravar as alterações no próprio arquivo.

Abaixo um exemplo comum de uso do sed, temos um arquivo chamado "frase.txt" com o seguinte conteúdo:

Viva o Windows!

Queremos usar o sed para trocar Windows por Linux:

sed 's/Windows/Linux/' frase.txt
Viva o Linux!

Embora o resultado do comando seja o desejado, se conferirmos o conteúdo do arquivo frase.txt ainda temos o original:

cat frase.txt
Viva o Windows!

Para fazer o sed gravar as alterações basta acrescentar o argumento "-i":

sed -i 's/Windows/Linux/' frase.txt
Viva o Linux!

Agora sim o arquivo foi salvo!

E podemos fazer ainda melhor, que é salvar as alterações no arquivo e de quebra gerar um arquivo de backup. O argumento -i pode ser acompanhado de um sufixo de arquivo de backup, como por exemplo .bak ou .old, ou qualquer outro sufixo de sua escolha.

sed -i.bak 's/Windows/Linux/' frase.txt

Após a execução do comando acima teremos um novo arquivo frase.txt e a cópia do original chamado frase.txt.bak.

IMPORTANTE: certifique-se sempre de usar um sufixo de backup quando tiver usando o "-i", se você cometer algum erro na expressão usada no sed, não haverá como desfazer o comando e restaurar o arquivo original sem uma cópia de backup.

Outras dicas deste autor

pydance, um jogo para quem tem gingado

Instalação e Configuração do Oracle Express Edition e SQL Developer no Ubuntu

Sistema de Arquivos em Rede (NFS)

Otimizando Digitação no Terminal Bash

Emulador de Terminal "Bombado" no Vim

Leitura recomendada

Como remover parêntesis dos nomes de arquivos

SED - combinando o conteúdo de dois arquivos

Equação de 2° Grau Shell Script - Zenity

Introdução ao awk

Como fazer "quit" no SED

  

Comentários
[1] Comentário enviado por maurixnovatrento em 02/06/2020 - 21:11h


É um comando que eu gosto bastante.

___________________________________
Conhecimento não se Leva para o Túmulo.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts