Groovy : 여러 디렉토리의 사이즈를 구하고 크기 순으로 정렬하기
Ruby 버전에 이어서 Groovy 버전도 만들어보았다. 거의 생김새가 비슷한 언어여서, 몇가지만 수정하면 바로 동작한다.
def FOLDER_LIST = [ "/path/to1", "/path/to2", "/path/to3", "/path/to4", "/path/to5", ] def startDate = new Date().format('yyyy/MM/dd HH:mm:ss') def size_folder_list = [] FOLDER_LIST.each { folder_name -> def folder_size = 0 new File(folder_name).eachFileRecurse { path -> folder_size += path.size() } size_folder_list << "${folder_size}|${folder_name}" } size_folder_list = size_folder_list.sort { a, b -> (a_size, a_file) = a.split(/\|/) (b_size, b_file) = b.split(/\|/) // b_size as int <=> a_size as int b_size.toInteger() <=> a_size.toInteger() } size_folder_list.each { folder -> (f_size, f_path) = folder.split(/\|/) println("${f_size},${f_path}") } def endDate = new Date().format('yyyy/MM/dd HH:mm:ss') println "\n\n\n" println "================================================================================" println "Start Time : $startDate" println "End Time : $endDate" println "================================================================================"
댓글
댓글 쓰기