폴더의 Ruby 목록 파일

Stewart Nguyen 2023년6월21일
  1. 샘플 폴더 만들기
  2. Dir::[]를 사용하여 폴더의 모든 파일 나열
  3. Dir.glob을 사용하여 폴더의 모든 파일 나열
폴더의 Ruby 목록 파일

이 기사에서는 Ruby의 특정 폴더에 있는 모든 파일을 나열하는 다양한 방법을 소개합니다.

샘플 폴더 만들기

이 명령줄을 사용하여 현재 디렉토리에 폴더 구조를 만드십시오.

mkdir parent_folder
touch parent_folder/music_1.txt
touch parent_folder/music_2.txt

mkdir parent_folder/child_folder
touch parent_folder/child_folder/doc_1.txt
touch parent_folder/child_folder/doc_2.txt

Dir::[]를 사용하여 폴더의 모든 파일 나열

Dir[<path_to_folder>/*]를 사용하면 path_to_folder 내의 모든 파일 이름과 폴더 이름을 포함하는 배열을 반환합니다.

그런 다음 File.file?을 사용합니다. 결과에서 파일 이름을 선택하는 방법.

예:

files = Dir['parent_folder/*'].select { |path| File.file?(path) }
puts files

출력:

parent_folder/music_1.txt
parent_folder/music_2.txt

하위 폴더 내에서 재귀적으로 파일을 나열하려면 다음 패턴을 적용할 수 있습니다.

files = Dir['parent_folder/**/*'].select { |path| File.file?(path) }
puts files

출력:

parent_folder/music_1.txt
parent_folder/music_2.txt
parent_folder/child_folder/doc_2.txt
parent_folder/child_folder/doc_1.txt

Dir.glob을 사용하여 폴더의 모든 파일 나열

Dir.glob을 호출하는 것은 Dir[<path_to_folder>]를 호출하는 것과 같습니다.

예:

files = Dir.glob('parent_folder/**/*').select { |path| File.file?(path) }
puts files

출력:

parent_folder/music_1.txt
parent_folder/music_2.txt
parent_folder/child_folder/doc_2.txt
parent_folder/child_folder/doc_1.txt

관련 문장 - Ruby File