Substituindo ocorrências de palavras dentro de um arquivo

Publicado por Xerxes Lins em 18/06/2015

[ Hits: 4.410 ]

Blog: https://voidlinux.org/

 


Substituindo ocorrências de palavras dentro de um arquivo



Com o Stream Editor, ou simplesmente "sed", podemos substituir todas as ocorrências de uma determinada palavra dentro de um arquivo.

O comando funciona assim:

sed -i 's/original/nova/g' arquivo

Explicando os parâmetros:
  • "-i" - in-place (define as alterações no arquivo. Se usar um sufixo, cria um backup)
  • "s" - substituição
  • "original" - a palavra a ser substituída
  • "nova" - a nova palavra que vai substituir a antiga
  • "g"- global (todo arquivo)
  • "arquivo" - nome do arquivo

Para mais informações:

sed --help

Referência: Sed HOWTO :: aurelio.net

Outras dicas deste autor

[RESOLVIDO] VirtualBox não funciona no Arch Linux e no KahelOS

Não desliga/reinicia pelo menu no LXDE?

Dock Plank - Configuração no Ubuntu e Linux Mint

IRPF 2019 no Ubuntu/Mint

Iniciar aplicativos automaticamente no Fluxbox

Leitura recomendada

Comandos para Postfix

Instale o kernel 3.10 no elementary OS

Aprenda a utilizar o cron [Vídeo]

Crie o comando

Fazendo mágicas com o watch

  

Comentários
[1] Comentário enviado por tiekookeit em 24/06/2015 - 08:36h

Complementar a dica do garoto

o separado "/" pode ser qualquer caractere no caso do / fazer parte da sua expressão
Ex:
sed -i 's|original|nova|g' arquivo
ou
sed -i 's:origina:nova:g' arquivo

Os marcadores ^ e $ indicam respectivamente inicio de linha (^) e fim de linha ($).
Exemplo para remover # no início de linha
sed 's:^#::g' -i arquivo

Caso não queira editar direto e ver como vai ficar antes, execute o comando sem o "i", porém ele vai gorfar na tela o conteúdo do arquivo, se não quiser que gorfe na tela, redirecione para um arquivo qualquer

Na tela
sed 's|antigapalavra|novapalavra|g' arquivo

Para outro arquivo
sed 's/antigapalavra/novapalavra/g' arquivo > arquivo1

Caso queira se ignorar a caixa da letra (maiúscula e minúscula) antes do "g" adicione o modificador "I", assim ele vai coincidir ignorando a caixa da palavra.
Ex:
sed 's:antigapalavra:novapalavra:i g' -i arquivo



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts