Búsquedas a toda velocidad con ripgrep

por | 12 enero, 2017

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.

8 pensamientos en “Búsquedas a toda velocidad con ripgrep

  1. Marcelo

    ¡ Mirá que interesante ! Se agradece el dato Estimado.

    1. tannhausser Autor

      De nada amigo! Gracias a ti por pasarte y comentar 🙂

  2. Jose Luis Pereira

    Muchas gracias por el aporte, siempre son buenos.
    Abrazo

    1. tannhausser Autor

      De nada @jose Luis. Gracias a ti por seguir el blog.

      Un abrazo!

    1. tannhausser Autor

      Me pasa con todos mis post…a veces incluso «descubro» herramientas de las que ya he hablado XD

Los comentarios están cerrados.