Episode #824
ATA 824 Busca como un rayo y alimenta a tu IA
¿Sigues usando find y grep como en los 90? Hace unas semanas me puse a buscar un archivo en un repositorio con git, lancé el find de toda la vida, y cuando volví de tomarme un café —literalmente— todavía seguía buscando. El problema es que find se mete en el .git , en los binarios, en sitios donde no debería. Y grep, pues lo mismo, sobre todo si trabajas con Unicode o con repositorios grandes. Así que llevo un tiempo usando fd y ripgrep , dos herramientas escritas en Rust que son órdenes de magnitud más rápidas. Pero lo mejor no es solo la velocidad: es que puedes combinarlas para crear pipelines que alimenten directamente a tu IA local. fd (44.1k estrellas en GitHub) es un reemplazo directo de find. En los benchmarks oficiales, buscar archivos con fd -u tarda 0.8 segundos donde find necesita 11 segundos con -iname y casi 20 segundos con -iregex . 23 veces más rápido. Y no solo es velocidad: fd respeta .gitignore por defecto, soporta expresiones regulares directamente, y tiene placeholders como {} , {.} , {/} y {//} que te permiten ejecutar comandos sobre cada resultado con -x o pasarlos en lote con -X . ripgrep (67.4k estrellas) es lo mismo pero para buscar texto. En el kernel de Linux, rg tarda 0.08 segundos donde grep tarda 2.67 segundos. 32 veces más rápido. Y tiene superpoderes que grep ni sueña: salida en JSON con --json , búsqueda en archivos comprimidos con -z , soporte PCRE2 con -P para lookaheads, y un flag --passthru que te muestra también las líneas que no coinciden. Desde la versión 15 también soporta hyperlinks OSC 8 y respeta repositorios de Jujutsu. Pero lo que realmente me tiene enganchado es combinarlos. El patrón es sencillo: fd encuentra los archivos que te interesan, ripgrep extrae el contexto relevante, y todo eso se lo pasas a Ollama para que lo procese. Te enseño la función aresumen que me he montado en Bash, y su equivalente en Fish, para preguntarle a mi documentación local sin salir de la terminal. Cosas como "resume todo lo que he escrito sobre Ollama en el último mes" se resuelven con un pipeline de tres comandos. Sin RAG, sin bases de datos vectoriales, sin complicaciones. Solo con un pipe bien puesto y el modelo adecuado. También te cuento cómo usar jq para procesar la salida JSON de ripgrep, cómo montar un buscador interactivo con fzf y bat , y los errores más comunes al construir estos pipelines. Si alguna vez has pensado "ojalá pudiera preguntarle a mis propias notas desde la terminal", este episodio te va a gustar. Y si todavía usas find y grep, te aseguro que después de oír los benchmarks no vuelves atrás. Capítulos del episodio: 0:00 — Introducción: fd y ripgrep para alimentar a tu IA 2:30 — El problema con find y grep tradicionales 5:00 — fd: el find que siempre quisiste tener 8:00 — Placeholders y expresiones regulares en fd 11:00 — ripgrep: el grep con superpoderes 14:00 — Salidas estructuradas con JSON y jq 16:30 — La combinación estrella: fd + ripgrep con -x 19:00 — Pipelines avanzados para filtrar archivos 21:30 — Integración con IA local: fd + rg + Ollama 24:30 — Alias, funciones y trucos del día a día 27:00 — Despedida y conclusiones Recursos mencionados: - fd (sharkdp/fd): https://github.com/sharkdp/fd - ripgrep (BurntSushi/ripgrep): https://github.com/BurntSushi/ripgrep - Ollama: https://ollama.com - jq: https://jqlang.github.io/jq/ - fzf: https://github.com/junegunn/fzf - bat: https://github.com/sharkdp/bat Más información y enlaces en las notas del episodio Aquí lo puedes encontrar todo https://atareao.es ✈️ Telegram (el grupo) https://t.me/atareao_con_linux ✈️ Telegram (el canal) https://t.me/canal_atareao Mastodon https://mastodon.social/@atareao Twitter https://twitter.com/atareao GitHub https://github.com/atareao