Como melhorar o tempo de pesquisa para pesquisar arquivos em vários diretórios

0

Eu tenho que procurar por 3 tipos de arquivos em muitos diretórios (facilmente 1k + eu acho?) alguns dos arquivos têm 13 níveis de profundidade.

installer.jar
Installpackage_*.jar
Patch_*.jar 

Agora estou usando o comando find; Eu excluo qualquer caminho de arquivo que eu possa encontrar para que o comando find não passe pelas pastas que ele pesquisou antes. Eu defini a profundidade máxima para 13 (isso é o mais profundo que posso encontrar). Mas ainda assim, a pesquisa está demorando horas para ser concluída. Alguma ideia de como posso melhorar o tempo de pesquisa?

Ps: desculpe, eu não postei meu script porque estou atualmente em casa e não tenho acesso ao pc da empresa.

    
por Xeon 22.10.2015 / 12:11

1 resposta

1

Se os seus arquivos forem legíveis por others , você poderá usar locate para encontrá-los rapidamente. Um cronjob deve atualizar o locatedb diariamente (ou mais).

Veja um exemplo:

$ time locate *.db
/etc/aliases.db
/usr/bin/lft.db
/usr/bin/traceproto.db
/usr/bin/traceroute6.db
/usr/bin/traceroute.db
/usr/sbin/tcptraceroute.db
/var/cache/dictionaries-common/aspell.db
/var/cache/dictionaries-common/hunspell.db
/var/cache/dictionaries-common/ispell.db
/var/cache/dictionaries-common/wordlist.db
[a lot of .db files] 
...

real    0m0.036s
user    0m0.032s
sys     0m0.000s
    
por 22.10.2015 / 13:56

Tags