você está aqui: Home  → Arquivo de Mensagens

Ebook Gratuito: Dá para fazer em Shell?, com o Prof. Julio Neves

vi - Deleção de caracteres

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 20 de Dezembro de 1999

Primeiramente, gostaria de corrigir um erro. A lista de vi fica no site eGroups, e para se cadastrar nela mande um email para <vi-br-subscribe (a) egroups com>. E o mantenedor da lista é o Aurélio Marinho Jargas (<aurelio (a) conectiva com br>).

Adicionalmente, a mensagem de ontem não foi muito clara em alguns pontos e eu estou aproveitando aqui para divulgar a mensagem que me foi enviada por Fernando M. Roxo da Motta (<ss51 (a) ep-ba petrobras com br>), que complementa admiravelmente os conceitos apresentados.

> vi - Substituicoes
> ---------------------------------------------------------------------
> Suponhamos que eu queira mudar todas as ocorrencias das palavras
> "hot", "hit", "h0t" , "hat" por host, mas apenas nas linhas em 
> que estas palavras ocorram isoladamente:
> 
> :%s/^h.t$/host/
> 
> Estou procurando, na primeira parte do argumento de busca,
> por palavras de tres letras comecadas em "h" e terminadas em
> "t". Esta palavra deve estar no comeco da linha "^" e a linha
> nao pode conter mais nada "$". O "." apos o "h" indica que
> qualquer letra que estiver nesta posicao atendera a especificacao
> da busca. Ou seja, todas as palavras procuradas (hot, hit, h0t e
> hat) serao substituidas por "host".

Mas também "het", "h:t" e qualquer outra combinação imaginável. Então como restringir apeas às combinações desejadas ? Basta substituir o "." pela seqüência de caracteres aceitáveis :

:%s/^h[oi0a]t$/host/

Repare que o par "[" e "]" marcam a posição de *apenas um* carater, portanto se aparecer uma linha contendo apenas "hoit" o que acontecerá ? Na hora de fazer a comparação :

O "h" vai bater com o "h" do padrão O "o" vai bater com a opção "o" do "[oi0a]" O "i" não vai bater com o "t", que é o próximo caráter a ser verificado

Portanto esta linha *não* vai bater com o padrão.



Veja a relação completa dos artigos de Rubens Queiroz de Almeida