VI (VIm): Alterando todas repetições de uma mesma palavra

Publicado por Fabio Maran em 25/08/2008

[ Hits: 33.990 ]

Blog: http://movimentolivre.zip.net

 


VI (VIm): Alterando todas repetições de uma mesma palavra



Fala galera, tranquilo?

Outro dia me deparei com o seguinte problema, tinha um arquivo texto que deveria conter centenas de milhares de palavras ;), e eu necessitava trocar todas as aparições de uma palavra ou número (IP sendo mais especifico) por uma outra palavra ou número.

Eu não olharia o arquivo inteiro em busca de palavra por palavra né? Então tive duas opções, criar um script ou utilizar um visualizador/editor de textos que me permitisse isso facilmente. Eis que o meu editor de sempre faz isso e eu ainda não tinha descoberto. oO"

Então vamos a dica em si:

Utilizando o VI ou VIm, você tem um arquivo que contem várias repetições da palavra Windows e quer substituir todas estas repetições por Linux.

Seguem o comandos (dentro do VI é claro, ou seja, primeiro dê um "vi arquivo"):

:%s/windows/linux/g

Todas as palavras windows são substituídas por linux. ;)

Bom, parece bobeira né, mas imagina você ter que trocar um número IP de um certo host e o mesmo aparece em muitas partes do arquivo?

Fica bem mais fácil né?

Abraços.

Outras dicas deste autor

Removendo o painel do KDE 4

Convertendo alguns arquivos

Enlightenment 17 no Ubuntu

Explorando seu hardware III

10 conceitos básicos de segurança em um servidor

Leitura recomendada

Marca d'água fácil com ffmpeg (testada em Ubuntu 8.04)

Quadrados ou retângulos no lugar de texto [Resolvido]

Resolvendo problema de conexão do Skype Beta no Debian

HTC Touch

Você já ouviu falar sobre o Final Term?

  

Comentários
[1] Comentário enviado por fabio em 25/08/2008 - 17:07h

Se o cara tiver Windows ou wInDOws, esse comando não funcionará. Então você pode transformar a substituição em ignore case, ou seja, casar com maiúsculas e minúsculas também. Pra isso basta adicionar um "i" no final:

:%s/windows/linux/gi

E se quiser que o VI pergunte antes de efetuar a substituição, acrescente um "c":

:%s/windows/linux/gic

Um abraço.

[2] Comentário enviado por brenogalvao em 25/08/2008 - 18:15h

que isso cara, replace ou substituir é dos comandos mais básicos de qualquer editor...
desculpe a opnião, mas acho que esse texto enorme pra tão pouco nem chega a ser uma dica


[3] Comentário enviado por mathewsfoz em 12/07/2010 - 11:39h

Eaew branogalvao, blz, me da uma dica;
estou migrando o clipper para o clip do linux;
e preciso saber como alterar todos os caracteres "\" para "/" usando o vi.
?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts