Recherche de fichiers source dans un projet
Utilisez une commande plus simple
En général, la source d'un projet est susceptible d'être à un seul endroit, peut-être dans quelques sous-répertoires imbriqués à pas plus de deux ou trois profondeurs, vous pouvez donc utiliser une commande (éventuellement) plus rapide telle que
(cd /path/to/project; ls *.c */*.c */*/*.c)
Utiliser les métadonnées du projet
Dans un projet C, vous auriez généralement un Makefile. Dans d'autres projets, vous pouvez avoir quelque chose de similaire. Ceux-ci peuvent être un moyen rapide d'extraire une liste de fichiers (et leurs emplacements), d'écrire un script qui utilise ces informations pour localiser les fichiers. J'ai un script "sources" pour pouvoir écrire des commandes comme grep variable $(sources programname)
.
Accélérer la recherche
Recherchez moins d'endroits, au lieu de les find / …
utiliser find /path/to/project …
si possible. Simplifiez autant que possible les critères de sélection. Utilisez des pipelines pour différer certains critères de sélection si cela est plus efficace.
Vous pouvez également limiter la profondeur de la recherche. Pour moi, cela améliore beaucoup la vitesse de «recherche». Vous pouvez utiliser le commutateur -maxdepth. Par exemple, "-maxdepth 5"
Accélérer la localisation
Assurez-vous qu'il indexe les emplacements qui vous intéressent. Lisez la page de manuel et utilisez les options appropriées à votre tâche.
-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.
Supprimer le besoin de recherche
Peut-être que vous cherchez parce que vous avez oublié où quelque chose est ou n'a pas été dit. Dans le premier cas, rédiger des notes (documentation), dans le second, demander? Les conventions, les normes et la cohérence peuvent beaucoup aider.
locate
devrait déjà être assez rapide, étant donné qu'il utilise un index pré-construit (la principale mise en garde étant qu'il doit être mis à jour), tout enfind
devant lire les listes de répertoires.