você está aqui: Home  → Arquivo de Mensagens

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

Dicas vi - Substituição de caracteres

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 05 de Setembro de 1997

Às vezes desejamos substituir caracteres que se encontram em determinada posição fixa em um texto, mas apenas aqueles caracteres e não atuar em caracteres semelhantes que se encontram em outra posição.

Tomemos o seguinte arquivo:


12345abcde12345abcdeabcde12345
12345abcde12345abcdeabcde12345
abcdeabcde12345abcdeabcde12345

Eu quero transformar a string abcde, a partir da coluna 6, na string ABCDE.

Para isto o comando

%s/^\(.....\)abcde/\1ABCDE/

faz exatamente o que preciso, resultando em

12345ABCDE12345abcdeabcde12345
12345ABCDE12345abcdeabcde12345
abcdeABCDE12345abcdeabcde12345

O caracter "\1" instrui o vi para deixar intactos os caracteres anteriores, representados por ".....". Caso eu não digitasse o caracter "\1" o resultado seria:

ABCDE12345abcdeabcde12345
ABCDE12345abcdeabcde12345
ABCDE12345abcdeabcde12345

Como visto acima, os caracteres que precedem a string que eu desejava substituir foram apagados.



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