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}"
'Language > Ruby' 카테고리의 다른 글
Ramaze 에서 JSON 으로 응답하기 (0) | 2012.11.21 |
---|---|
Ramaze Simple Tutorial (with Sequel) (0) | 2012.11.19 |
Ruby : 특정 디렉토리 밑에 있는 파일중에 200MB 넘는 파일 찾기 (0) | 2012.05.25 |
JRuby 1.6.6 인코딩 관련 버그 (0) | 2012.02.13 |
JRuby, 1.9.x 를 디폴트로 사용하기 (0) | 2011.10.27 |