Procurando por arquivos de origem em um projeto
Use um comando mais simples
Geralmente, é provável que a origem de um projeto esteja em um local, talvez em alguns subdiretórios aninhados com mais de dois ou três de profundidade, para que você possa usar um comando (possivelmente) mais rápido, como
(cd /path/to/project; ls *.c */*.c */*/*.c)
Fazer uso dos metadados do projeto
Em um projeto C, você normalmente teria um Makefile. Em outros projetos, você pode ter algo semelhante. Essa pode ser uma maneira rápida de extrair uma lista de arquivos (e seus locais). Escrever um script que utilize essas informações para localizar arquivos. Eu tenho um script "sources" para que eu possa escrever comandos como grep variable $(sources programname)
.
Acelerando a localização
Pesquise menos lugares, em vez de find / …
usar sempre find /path/to/project …
que possível. Simplifique os critérios de seleção o máximo possível. Use pipelines para adiar alguns critérios de seleção, se isso for mais eficiente.
Além disso, você pode limitar a profundidade da pesquisa. Para mim, isso melhora muito a velocidade de 'encontrar'. Você pode usar a opção -maxdepth. Por exemplo '-maxdepth 5'
Acelerando a localização
Verifique se está indexando os locais nos quais você está interessado. Leia a página de manual e use as opções apropriadas para sua tarefa.
-U <dir>
Create slocate database starting at path <dir>.
-d <path>
--database=<path> Specifies the path of databases to search in.
-l <level>
Security level. 0 turns security checks off. This will make
searchs faster. 1 turns security checks on. This is the
default.
Remova a necessidade de pesquisar
Talvez você esteja pesquisando porque esqueceu onde algo é ou não foi dito. No primeiro caso, escreva notas (documentação), no último, pergunte? Convenções, padrões e consistência podem ajudar muito.
locate
já deve ser bastante rápido, considerando que ele usa um índice pré-criado (a principal ressalva é que ele precisa ser atualizado), enquantofind
precisa ler as listagens de diretório.