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

Publicado por Fabio Maran em 25/08/2008

[ Hits: 33.507 ]

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

Expressão regular: Descobrindo o recordista de e-mails

Comandos para o dia-a-dia

Kiba Dock no Ubuntu

Recuperando senha do root - Slackware

Recuperando o GRUB

Leitura recomendada

Jogando Tetris via terminal

Corrigindo bug de data no comando radwho (FreeRADIUS)

Colocando algumas transparências no seu Linux

Convertendo formato de vídeo *.ogv para *.avi no Linux

Adicionar ícones na barra do Gnome

  

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