728x90
반응형
Ruby 에서 여러 디렉토리의 사이즈를 구하고 크기 순으로 정렬하는 방법을 구현해보았다. 여러 팀에서 공유하는 파일의 서버의 경우, 각 디렉토리별(팀)로 어느 정도 사용하는 지를 알아보고 싶을 때 이용하면 좋을 것이다.
require 'find'
$FOLDER_LIST = [
'C:\\path\\to1',
'C:\\path\\to2',
'C:\\path\\to3',
'C:\\path\\to4',
'C:\\path\\to5',
]
start_time = Time.now
size_folder_list = Array.new
$FOLDER_LIST.each() do | folder_name |
folder_size = 0
Find.find(folder_name) do | path |
if(File.exist?(path))
folder_size += File.size(path)
end
end
size_folder_list << "#{folder_size}|#{folder_name}"
end
size_folder_list = size_folder_list.sort do |a, b|
(a_size, a_file) = a.split(/\|/)
(b_size, b_file) = b.split(/\|/)
b_size.to_i <=> a_size.to_i
end
size_folder_list.each do | folder |
(f_size, f_path) = folder.split(/\|/)
print f_size + "," + f_path + "\n"
end
end_time = Time.now
puts "\n\n========================================================================="
puts "Start Time : #{start_time}"
puts "End Time : #{end_time}"
728x90
반응형
'Programming > Ruby' 카테고리의 다른 글
(Ruby) Ramaze 에서 JSON 으로 응답하기 (0) | 2012.11.21 |
---|---|
(Ruby) Ramaze Simple Tutorial (with Sequel) (0) | 2012.11.19 |
(Ruby) 특정 디렉토리 밑에 있는 파일중에 200MB 넘는 파일 찾기 (0) | 2012.05.25 |
(Ruby) JRuby 1.6.6 인코딩 관련 버그 (0) | 2012.02.13 |
(Ruby) JRuby, 1.9.x 를 디폴트로 사용하기 (0) | 2011.10.27 |