Sed - como salvar alterações no arquivo

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

[ Hits: 5.106 ]

Blog: https://mestrefabio.com

 


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

Como remover arquitetura i386 no Debian/Ubuntu e derivados

Baixando sites recursivamente

Gizmo no Ubuntu Dapper: The dmix plugin supports only playback stream

Novo portal Linux: Open SCRIPT

Navegando Livremente: Desabilite o JavaScript e Acesse Conteúdo Restrito (aka paywalls)

Leitura recomendada

Baixando todos os arquivos de uma URL com o wget

Eliminando linhas de comentário ou linhas em branco no Linux

SED - combinando o conteúdo de dois arquivos

Introdução ao awk

Redirecionamento no Shell

  

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