現在のディレクトリとすべてのサブディレクトリ内のファイルと一致するグロブを作成することは可能ですか?

StackOverflow https://stackoverflow.com/questions/44481

  •  09-06-2019
  •  | 
  •  

質問

このディレクトリ構造の場合:

.
|-- 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 さん、ご回答ありがとうございます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top