Sed - como salvar alterações no arquivo

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

[ Hits: 5.845 ]

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

O comando rename na prática

Contando o número de palavras com o VIM

SED - combinando o conteúdo de dois arquivos

Erro: user in plugdev group; are your udev rules wrong? [Resolvido]

Docker: container Debian sem o comando "ps" (bash: ps: command not found) [Resolvido]

Leitura recomendada

Redirecionamento no Shell

Expressão regular para validar um IP

Bloqueando tráfego via MAC com iptables

Como renomear arquivos de letras maiúsculas para minúsculas

Executando comandos em looping 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