BULMA Bulma amb el projecta Defective by Desing
Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons   |   Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores
CONTENIDOS
. Jornadas de software libre
. Version para PDA
. Enlaces breves
. La asociacion
. Los mas leidos
. Autores [Actividad]
. Ultimos Comentarios
. Todos los titulares!
. Estadisticas
. Guia de estilo
. ¿Sugerencias?
. Wiki
. XML [Ayuda]
Listas de correo
. Archivos bulmailing
. Archivos BulmaGes
Radio libre :-)
. Des de la Xarxa (Archivos)
. Mallorca en Xarxa
Busquedas

+ Enlaces Linux
Ultimos kernels
(02/09/2010 18:16:25)
    
Google


En bulma.net
En internet
Buscar y reemplazar con vi (37472 lectures)
Por Guillem Cantallops Ramis
Beowulf (http://bulma.net/beowulf/)
Creado el 18/01/2001 00:00 modificado el 18/01/2001 00:00

Estaba leyendo algunos tutorials de los que recomiendo en otro articulo y eso me ha inspirado para escribir este truco aquí... Os aseguro que lo sabia antes de leer el tutorial (de hecho creo que precisamente en el tutorial esto no sale), lo que pasa es que no se me habia ocurrido ponerlo aquí ;-)

Pagina1/1

Hay varias formas de hacer un search&replace global con 'vi', pero este es el comando que uso yo siempre:

 
:g/X/s//Y/g 

Este ejemplo substituye todas las ocurrencias de "X" en el texto por "Y".

Para hacerlo confirmando cada cambio uno por uno, basta con añadir la opción 'c' al final

Para hacerlo sin tener en cuenta mayusculas y minusculas... justamente con este comando está un poco complicado porque si añadimos la opción 'i' al final solo afectará al comando 's' pero no al 'g'. Bueno, "X" es en realidad una expresión regular, así que vosotros mismos ]:-)

No os he convencido? Bueeeno, si os da pereza usar expresiones regulares para esto podeis utilizar una variante que si permite usar facilmente la opción 'i' al final (esta si que sale en el tutorial del ILUG):

 
:%s/X/Y/gi 

Por supuesto eso mismo sin la 'i' es "case sensitive". Funciona, vale, pero pierde un poco la gracia, no? Yo sigo usando la primera variante, con el comando 'g' y expresiones regulares :-P

De todas formas hay que recordar que estamos buscando ocurrencias de eso en cualquier parte del texto, así que si queremos hacer la busqueda por "palabras completas" (i.e. no substituyendo "X" por "Y" en palabras como "estoXmola") seguramente tendremos que echar mano de las expresiones regulares, aunque sean las más simples.

Mensaje subliminal: aprende de una vez, total no te vas a librar porque no puedes ir por ahí sin saber usar las expresiones regulares ]:-)

Un truco facil, eh? Os recomiendo que intenteis averiguar como y por qué funcionan las cosas, es muy constructivo ;-)


Imprimir
Version para
imprimir

Imprimir
Version
PDF
Comentarios
1.  Re:Buscar y reemplazar con vi (01/05/2001 19:37, #1124)
  Por: El cobarde anonimo
Que ocurre cuando dentro de la expresion X o Y hay un caracter de /

 
2.  Re:Buscar y reemplazar con vi (01/05/2001 21:05, #1125)
  Por: Beowulf (http://starkmad.yi.org:8888/)
No hay ningún problema, le pones la barra invertida delante y listos, como siempre que sale un carácter con significado especial en las expresiones regulares.

Por ejemplo, para substituir / por // se hace así:

:g/\//s//\/\//g

para que luego digan que estas cosas son complicadas... ;-D

 
3.  Re: Buscar y reemplazar con vi (06/06/2003 00:21, #14947)
  Por: El cobarde anónimo
La verdad no corresponde a buscar y reemplazar pero no sé donde colocar esta duda. si el vi es equivalente al edit del DOS, entonces cuando ejecuto el vi sin ningún archivo como salvo este archivo. Esta demás que diga que sin copiar y hacer otro archivo

 
4.  Re: Buscar y reemplazar con vi (11/07/2003 14:20, #15811)
  Por: Valiente Anònima (http://webgnu.tk)
hola!
al intentar guardar los cambios en un archivo cuando has ejecutado directamente:
bash-2.05b$ vi
e intentes salir del editor haciendo
[aprenta la tencla escape] :wq
te dirá:
"no file name"
entonces lo que has de hacer (sin salir del editor) es:
[esc] :w nombre_para_el_archivo_que _has_creado.extension

entonces ya te dejarà salir del editor, además de que ya tendràs creado el archivo para cuando quieras leerlo o retocarlo. :)

Espero que haya quedado claro, mucha suerte!

Laura

 
5.  Re: Buscar y reemplazar con vi (16/10/2003 19:51, #17511)
  Por: jose
vale, ¿y como hago para buscar y reemplazar pero no sólo en un archivo sino en todos los archivos de un directorio???

 
6.  Re: Buscar y reemplazar con vi (20/10/2004 15:44, #23880)
  Por: Anónimo

Esto ya no lo puedes hacer con "vi" (por lo menos que yo sepa), pero si con una línea de Perl.

perl -pi -e 's/index\.php/index2.php/g' *.html

Esta línea reemplaza la cadena "index.php" por "index2.php" en todos los archivos ".html" de un directorio. Espero que les sirva. Saludos...


 
7.  Re: Buscar con vi (24/01/2004 20:17, #19366)
  Por: Jfer
Hola linuxeros.. saben tengo un problema a la hora de buscar, vi busca la palabra q le indico. lo malo es q la resalta de amarillo con fondo de letras blancas.. alguien me puede ayudara .. trabajo con el putty. para conectarme por consola.. de antemano gracias por la ayuda.

 
GRACIAS
Distribuciones Universal
Por el servidor
Dpto. de Matematicas e Informatica
Calificacion
***0
Vots: 29
Danos tu opinion:
**** Excelente
***0 Muy Bueno
**00 Bueno
*000 Regular
0000 Malo
Relacionados
. Expresiones Regulares - Conceptos Avanzados -
SECCIONES
Noticia
Breve
Truco
Enlace
Participa
Proyecto
Articulo
Webbulma
Manoletada :-)
Seguridad
Modificado: 24/8/2010 20:14:24 | Tiempo Total: 0.030 segs | Kernel: Linux - i686 - 2.6.26-1-686 | Last boot: 02/09/2010 20:10 CEST
Powered by Apache    MySQL    PHP    Gimp