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?
[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":
[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.
?