如何缩短在大量目录中搜索文件的搜索时间

如何缩短在大量目录中搜索文件的搜索时间

我必须在很多目录中搜索 3 种类型的文件(我认为很容易 1k +?),其中一些文件的深度为 13 层。

installer.jar
Installpackage_*.jar
Patch_*.jar 

现在我正在使用 find 命令;我排除了我能找到的任何文件路径,因此 find 命令不会遍历它之前搜索过的文件夹。我已将最大深度设置为 13(这是我能找到的最深)。但搜索仍然需要几个小时才能完成。知道如何缩短搜索时间吗?

Ps:抱歉,我没有发布我的脚本,因为我目前在家并且无法访问公司的电脑。

答案1

如果您的文件可由 读取others,您可以使用locate来快速找到它们。 Acronjob应该locatedb每天更新(或更多)。

这是一个例子:

$ 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

相关内容