Indización de texto completo
Existen herramientas como recoll , swish-e y sphinx, pero tendría que verificar si pueden admitir el tipo de criterios de búsqueda que necesita.
Recoll
Recoll es una herramienta personal de búsqueda de texto completo para Unix / Linux.
Swish-e
Swish-e es un sistema de código abierto rápido, flexible y gratuito para indexar colecciones de páginas web u otros archivos.
Esfinge
Sphinx le permite indexar por lotes y buscar datos almacenados en una base de datos SQL, almacenamiento NoSQL o simplemente archivos de forma rápida y sencilla.
grep
Me sorprende que grep sea tan lento como lo describe, ¿puede reducir la cantidad de archivos que se buscan? Por ejemplo, cuando solo necesito buscar en los archivos de origen un ejecutable (de muchos en un proyecto), le doy a grep los nombres de un comando que enumera los archivos de origen para ese programa:
grep expression `sources myprogram`
sources
es un programa específico para mi entorno de desarrollo, pero es posible que tenga (o pueda construir) algo equivalente.
Supongo que has probado técnicas obvias como
find /foo/myproject -name "*.c" -exec fgrep -l searchtext
He leído una sugerencia de que la -P
opción actual grep
puede acelerar significativamente las búsquedas.