728x90
반응형
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 "================================================================================"
728x90
반응형
'Programming > Groovy' 카테고리의 다른 글
(Groovy) Rotate Backup file or Log file (0) | 2012.06.28 |
---|---|
(Groovy) Grails : ROOT Context 로 Grails App 실행하기 (0) | 2012.05.23 |
(Groovy) 버전 정보 가져오기 (0) | 2012.05.23 |
Groovy : 수정된지 N일이 넘는 파일들 삭제하기 (0) | 2012.03.09 |
Groovy : 클로져(반복자)에서 빠져나오기 (0) | 2012.03.07 |