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

Publicado por Fabio Maran em 25/08/2008

[ Hits: 34.061 ]

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

Kiba Dock no Ubuntu

Automatizando o boot de VMs

Compartilhando CD-ROM no Samba

Plugins, codecs e muito mais para Debian ou Ubuntu

Explorando seu hardware III

Leitura recomendada

Viva o Linux no Twitter!

Palestra sobre gerenciamento de memória virtual no kernel linux

Mudar senha no modo de recuperação

Mapeando teclas de modo visual no VIM

Troca automática de Wallpaper no Gnome 3

  

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