problema de substituição de cadeia vim

1

Estou usando a versão Linux Red Hat 5 Enterprise. Ao usar o vi para substituir string, normalmente usamos o seguinte comando no vi - "s / original_word / replaceded_word / g", minha pergunta é, se original_word ou replace_word contiver "/", como substituir?

Por exemplo, quero substituir / goo / foo / zoo por / 1/2/3.

obrigado antecipadamente!

    
por George2 28.07.2010 / 14:32

2 respostas

3
  1. você pode usar um separador diferente, por exemplo, : ou , ou ; ou | ou o que você quiser
  2. escape do separador se o separador fizer parte da cadeia de pesquisa, o que significa: coloque um \ antes do separador, como este s/goo\/foo\/zoo/1\/2\/3/g
por 28.07.2010 / 14:35
4

Use um caractere diferente para o delimitador de comando ou escape das barras.

:s!/foo!/bar!
:s/\/foo/\/bar/
    
por 28.07.2010 / 14:35

Tags