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

Publicado por Fabio Maran em 25/08/2008

[ Hits: 33.870 ]

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

Man pages em português

Audit no Samba

Monitorando um comando com strace

Centralizando lixeira no Samba: modalidade usuário

Walls, temas, ícones...

Leitura recomendada

Como resolver o erro no CUPS: Unable to get list of printer drivers

Site com screencasts (pequenos vídeos) de várias distribuições

Usando skins de Winamp no XMMS

Configurando roteadores no Linux

LXDE em Alta Resolução

  

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