Indexação de texto completo
Existem ferramentas como recoll , swish-e e sphinx, mas você teria que verificar se elas suportam o tipo de critério de pesquisa que você precisa.
Recoll
Recoll é uma ferramenta pessoal de pesquisa de texto completo para Unix / Linux.
Swish-e
O Swish-e é um sistema de código aberto rápido, flexível e gratuito para indexar coleções de páginas da Web ou outros arquivos.
Esfinge
O Sphinx permite indexar em lote e pesquisar dados armazenados em um banco de dados SQL, armazenamento NoSQL ou apenas arquivos de maneira rápida e fácil
grep
Estou surpreso que grep seja tão lento quanto você descreve, você pode reduzir o número de arquivos sendo pesquisados? Por exemplo, quando eu só preciso pesquisar nos arquivos de origem um executável (dentre muitos em um projeto), eu alimento o grep os nomes de um comando que lista os arquivos de origem para esse programa:
grep expression `sources myprogram`
sources
é um programa específico para o meu ambiente de desenvolvimento, mas você pode ter (ou conseguir construir) algo equivalente.
Suponho que você tenha tentado técnicas óbvias, como
find /foo/myproject -name "*.c" -exec fgrep -l searchtext
Eu li uma sugestão de que a -P
opção atual grep
pode acelerar significativamente as pesquisas.