El Blog de Rigo El Blog de Rigo  

Ripgrep busquedas a toda velocidad en terminal

Cada tanto surgen aplicaciones para destronar en la linea de comandos a grep. Y de las últimas candidatas debemos citar a ripgrep, un software multiplataforma construido en lenguaje de programación Rust y con licencia libre MIT, que nos promete ir más rápido, más lejos y más fuerte, en esta nuestra particular olimpiada de búsquedas.

Ripgrep combina la facilidad de uso de The Silver Searcher (dirigida a programadores y también disponible en vuestra distribución GNU/Linux más cercana) con la velocidad bruta de grep.

Búsquedas recursivas casi al instante, combinadas con diversas opciones avanzadas, como el filtrado por tipo de archivo, uso de expresiones regulares, colores personalizados, soporte Unicode y la ignorancia de forma predeterminada en los resultados de archivos ocultos y binarios (además de aquellos que deseemos añadir al archivo .gitignore).

Hay un montón de posibilidades a explorar con ripgrep y aunque su sintaxis es similar a otras herramientas de su tipo, como siempre lo mejor es echar un vistazo a la función de ayuda del programa:

rg –help
o su manual

man rg

Su uso más básico es rg seguido del termino a buscar:

rg texto-a-buscar

Si queremos hacer la búsqueda insensible a mayúsculas y minúsculas le añadimos la opción -i:

rg -i texto-a-buscar

Puede ser que queramos buscar unicamente por tipo de archivo. En este ejemplo buscamos programas de python (py)

rg -tpy foobar

o todo lo contrario, buscar todos los archivos menos los de una clase determinada. En este caso pasamos de los de ruby (rb).

rg -Trb foobar

Instalación en Linux

Otra de las ventajas de ripgrep es que está disponible para los principales sistemas operativos (Linux, Mac y Windows). Vamos a ver como instalarlo en algunas de las distros GNU/Linux más populares:

En Arch Linux y derivadas como Antergos o Manjaro, nos lo encontramos en los repositorios oficiales:

sudo pacman -S ripgrep

Para Fedora 24 y 25:

su -c
dnf copr enable carlgeorge/ripgrep
dnf install ripgrep

Para RHEL y CentOS 7:

su -c
yum-config-manager –add-repo=https://copr.fedorainfracloud.org/coprs/carlgeorge/ripgrep/repo/epel-7/carlgeorge-ripgrep-epel-7.repo
yum install ripgrep

En gentoo:

sudo emerge ripgrep

En cualquier otra distribución si tenéis instalado Rust y su gestor de paquetes Cargo, podría funcionar:

cargo install ripgrep

Tenéis más información sobre ripgrep y sus diversos modos de funcionamiento en la web de su desarrollador, donde también encontraréis comparativas de rendimiento respecto a programas similares.

Fuente

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.