現在のディレクトリにディレクトリを一覧表示しています。これが私が比較している2つのコマンドです:
ls -F | grep /
find . -type d -depth 1
ls
コマンドはほぼ瞬時に実行されますが、find
コマンドには約10秒かかります。 find
コマンドは各サブディレクトリの内容を処理しているように見えますが、コマンドでは必要ないようです。
とは find . -type d -depth 1
とても遅くするのですか?
-depth
は単一のレイヤーで止まらないので、-maxdepth
が必要です。代わりに、find
に、ディレクトリの内容をそれ自体の前に処理するように指示します。つまり、深さ優先探索です。
代わりに試してください
find . -maxdepth 1 -type d
「隠し」ファイルも検索するため、ls -F | grep /
以上のものが見つかります。私の例では、これまでになくわずかに高速でした(0.1と比較して0.091秒)。