はディレクトリを再帰的に一覧表示するglob
を使用するには、2つの方法があります。私が逃している2つのコマンドの違いはありますか?"**/* /"と "** /"の違いは?出力は、少なくとも小さなサブツリーのために、同じように見える</p> <p><code>Dir.glob("**/*/")</code></p> <p><code>Dir.glob("**/")</code></p> <p>:ここ
5
A
答えて
2
**は0個以上のディレクトリに一致します。最後に*を置くことによってあなたは、本質的にそれ1以上作り、ルート内のディレクトリを削除します。
a = Dir.glob('/tmp/**/*/').sort
b = Dir.glob('/tmp/**/').sort.size
b.size => 19
a.size => 18
b - a => ["/tmp/"]
大手一定のパスなしで長さ0のマッチが上がらないように差があるように、しかし、それは見ていません面白くないし、結果に収まらない。
0
その場合はありません。
しかし、そのような区別が重要な場合があります。パターンが**/*
と**/*/*
で、ディレクトリではなくファイルに再帰的に一致する場合、最初のディレクトリは現在のディレクトリにファイルを含み、後者は現在のディレクトリから少なくとも1レベル下のファイルのみをリストします。/*/
何かに合っている。