Pular para o conteúdo

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

Dica publicada em Linux / Miscelânea
Fabio Maran maran
Hits: 34.692 Categoria: Linux Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

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.

Walls, temas, ícones...

Automatizando o boot de VMs

Bloqueando internet para certos usuários no Ubuntu

Man pages em português

Recuperando senha do root - Slackware

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

Lixeira no Samba

Easy Hosting Control Panel no Ubuntu 12.04

Criando músicas no formato AAC (m4a) utilizando o NeroAac

Placas Wireless Ralink - Instalação de Drivers no CentOS 6.x

#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

Entre na sua conta para comentar.