遅い再帰照会の混乱

遅い再帰照会の混乱

このコマンドは返すのに少なくとも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

返すのに2分かかり、結果が数秒で返されるfindほど実行が遅いのはなぜですか?lsgrep

関連情報