複数のディレクトリでファイルを検索するときの検索時間を短縮する方法

複数のディレクトリでファイルを検索するときの検索時間を短縮する方法

多くのディレクトリで3種類のファイルを検索する必要があります(私の考えは1k以上ですか?)。そのうちのいくつかは13レベルの深さにあります。

installer.jar
Installpackage_*.jar
Patch_*.jar 

私はfindコマンドを使用しています。検索可能なすべてのファイルパスを除いて、findコマンドが以前に検索したフォルダに移動しないようにします。私は最大深さを13(私が見つけることができる最も深いもの)に設定しました。しかし、検索を完了するには数時間かかりました。検索時間を短縮する方法をご存知ですか?

Ps:申し訳ありません。現在自宅にいて会社のコンピュータにアクセスできないため、スクリプトを公開していません。

ベストアンサー1

からファイルを読むことができる場合は、を使用してすばやく見つけることothersができますlocate。 Aは毎日(またはそれ以上)更新するcronjob必要があります。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

おすすめ記事