現在のディレクトリとすべてのサブディレクトリ内のファイルと一致するグロブを作成することは可能ですか?
質問
このディレクトリ構造の場合:
.
|-- README.txt
|-- firstlevel.rb
`-- lib
|-- models
| |-- foo
| | `-- fourthlevel.rb
| `-- thirdlevel.rb
`-- secondlevel.rb
3 directories, 5 files
グロブは次のように一致します。
firstlevel.rb
lib/secondlevel.rb
lib/models/thirdlevel.rb
lib/models/foo/fourthlevel.rb
解決
質問の本当の要点を見逃していたら申し訳ありませんが、sh/bash/などを使用している場合は、おそらく次のように使用するでしょう。 探す 仕事をするために:
find . -name '*.rb' -type f
グロブはスクリプト内から使用すると少し厄介になる可能性があります。 探す はるかに柔軟です。
他のヒント
zshでは、 **/*.rb
作品
Ruby 自体では:
Dir.glob('**/*.rb') perhaps?
からはできないようです bash
使用している場合 zsh
それから
ls **/*.rb
正しい結果が得られます。
そうしないと、乗っ取ることができます ruby
通訳(おそらく他の言語の通訳も)
ruby -e "puts Dir.glob('**/*.rb')"
Chris さんと Gaius さん、ご回答ありがとうございます。
所属していません StackOverflow