viernes, 8 de julio de 2016

Buscando texto con less y vim

less y vim comparten el mismo método de búsqueda de texto. Pulsando la tecla / seguida de una expresión regular realizaremos una búsqueda. Si usamos less para ver nuestro archivo phonelist.txt:

[me@linuxbox ~]$ less phonelist.txt

y luego buscamos por nuestra expresión de validación:

(232) 298-2265
(624) 381-1078
(540) 126-1980
(874) 163-2885
(286) 254-2860
(292) 108-518
(129) 44-1379
(458) 273-1642
(686) 299-8268
(198) 307-2440
~
~
~
/^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$

less resaltará las cadenas que coinciden, dejando las que no valen fáciles de eliminar:

(232) 298-2265
(624) 381-1078
(540) 126-1980
(874) 163-2885
(286) 254-2860
(292) 108-518
(129) 44-1379
(458) 273-1642
(686) 299-8268
(198) 307-2440
~
~
~
(END)

vim, por otra parte, soporta expresiones regulares básicas, de forma que nuestra expresión aparecería así:

/([0-9]\{3\}) [0-9]\{3\}-[0-9]\{4\}

Podemos ver que la expresión es prácticamente igual; sin embargo, muchos de los caracteres que se consideran metacaracteres en expresiones extendidas se consideran literales en expresiones básicas. Sólo se tratan como metacaracteres cuando los escapamos con una barra invertida. Dependiendo de la configuración particular de vim en nuestro sistema, la coincidencia será resaltada. Si no, prueba este comando de modos:

:hlsearch

para activar la búsqueda resaltada.

Nota: Dependiendo de tu distribución, vim soportará o no la búsqueda resaltada. Ubuntu, en particular, proporciona una versión muy simplificada de vim por defecto. En ese tipo de sistemas, puedes usar tu administrador de paquetes para instalar la versión completa de vim.

No hay comentarios:

Publicar un comentario