2012-04-30 3 views
2

Ruby 디렉토리 검색에 문제가 있습니다. 나는 gitignore 파일처럼 sth을 내포하고 싶다. 일부 파일이 무시 파일에 나열되면 검색되지 않습니다. 내가 Dir["/**/*"] 모든 파일이 검색됩니다를 사용하는 경우/바 (그리고 모든 하위 파일)Ruby : 모든 파일을 검색하고 원하지 않는 파일을 무시하려면 어떻게해야합니까?

/bar (directory) 
/bar/a.txt 
/bar/b.txt 
/foo 
/foo/c.txt 
/foo/d.txt 

을 무시하려면 여기 예를 를 들어

는, 디렉토리의 목록입니다. 어떻게 foo 디렉토리를 통해서만 검색 할 수 있습니까? 경우

+1

디렉터리 [ "/ foo는/**/* "] –

답변

2
Dir["/**/*"].reject{|f|f["/bar/"]}.each do |file| 
    puts file 
end 
=> 
/foo 
/foo/c.txt 
/foo/d.txt 

내 구글은 문서 \ 잠수정과 \ 루비하지 않고 파일을 드라이브의 모든 예를 들어, 사용 Regexp.union를 필터링하기 위해 여러 잠수정이

pattern = Regexp.union("C:/Users/peter/Google Drive/ruby", "C:/Users/peter/Google Drive/docs") 
Dir["C:/Users/peter/Google Drive/**/**"].reject{|f|f[pattern]}.each do |file| 
    p file 
end 
관련 문제