현재 디렉터리와 모든 하위 디렉터리의 파일과 일치하는 glob을 만드는 것이 가능합니까?

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/etc.를 사용하고 있다면 아마도 다음을 사용할 것입니다. 찾다 일을 하기 위해:

find . -name '*.rb' -type f

Globs는 스크립트 내에서 사용될 때 약간 불쾌해질 수 있습니다. 찾다 훨씬 더 유연합니다.

다른 팁

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