再帰検索の遅さに関する混乱

再帰検索の遅さに関する混乱

このコマンドが返されるまでに 2 分以上かかります:

find . -type d -wholename ./dev-abcd/efgh

サブディレクトリがたくさんあるように思えます。以下のコマンドで確認したところ、ほぼ瞬時に結果が返されました。

 ls -lR | grep "^d" | wc -l
    2002

このコマンドを少し変更して、 に類似したディレクトリを検索するとfind、コマンドもほぼ瞬時に返されます。

ls -lR | grep "^d" | grep "efgh"

これを見ると、隠しサブディレクトリがたくさんあるはずだと考えてしまいます。しかし、それほど多くは見当たりません。

ls -ap | egrep "^\..*/$" | wc -l
       3

数秒以内に返されるfind結果を返すのに 2 分もかかるほど、パフォーマンスが遅いのはなぜですか?lsgrep

関連情報