Buscar una palabra en los archivos de un directorio en Linux / FreeBSD / MacOS

Muchas veces tenemos un par de archivos, y queremos buscar una palabra, frase o algo que podría contener alguno o todos los archivos en el directorio, o sistema, lo que queramos buscar.

Entonces, ahora mientras ocupaba editar unos archivos en nodejs y ocupaba ver donde se estaba la referencia a un otro archivo, buscando en Google me daba unos resultados raros usando sed, cat, grep, find... y todo ese poco de 'magia', que para fines prácticos no quería aprender solo para buscar una palabra jaja (luego lo aprenderé :P)

Entonces les presento The silver searcher.

Este software permite buscar una cadena de caracteres de forma muy rápida en un directorio.

Todo es muy sencillo, una vez instalado solo nos situamos en el directorio y ejecutamos:

    ag 'palabra o frase a buscar'

O le pasamos un directorio a buscar:

Y nos va a dar todos los resultados, que encuentra, si hacemos man ag nos va a decir que otras opciones tenemos, como restringir el tipo de archivo en el que va a buscar, incluir archivos ocultos, regex, etc...

Tambien vemos como podemos buscar sin las comillas, pero si

La instalación es muy sencilla en linux, siguiendo las indicaciones del github, si usamos una distro conocida lo hacemos con:

    #Debian y ubuntu 
    apt-get install silversearcher-ag

    #Fedora
    dnf install the_silver_searcher

    #Archlinux
    pacman -S the_silver_searcher

    #Gentoo
    emerge the_silver_searcher

Otras distros también la deben de incluir en sus repos, para más información consulta el Github del proyecto

En FreeBSD:

     pkg install the_silver_searcher

MacOS:

    brew install the_silver_searcher

o con

    port install the_silver_searcher

Ag viene de Ack, otro buscador de este tipo, pero Ag fue mejorado para buscar con otros algoritmos, multi hilo, e incluso toma en cuenta los .gitignore y .hgignore (no importa si no es un repositorio) para no buscar en esos directorios que no son importantes.

Related Article