我正在将一个KornShell(ksh)脚本转换为Groovy。我有以下查找命令 - 有没有一种类似的Groovy方法可以做类似的事情,而不依赖于Unix命令(我需要这个跨平台工作,所以我不能执行“blah blah”。)。
find <source directory> -name <file pattern> -type f -mtime +140 -level 0
这段代码在源目录中(不包括子目录)搜索所有匹配文件模式且早于140天的文件。
我正在将一个KornShell(ksh)脚本转换为Groovy。我有以下查找命令 - 有没有一种类似的Groovy方法可以做类似的事情,而不依赖于Unix命令(我需要这个跨平台工作,所以我不能执行“blah blah”。)。
find <source directory> -name <file pattern> -type f -mtime +140 -level 0
Groovy提供了一些用于搜索目录的方法:File.eachFile
用于 -level 0
的情况,或者 File.eachFileRecurse
用于一般情况。示例:
use(groovy.time.TimeCategory) {
new File(".").eachFile { file ->
if (file.isFile() &&
file.lastModified() < (new Date() - 140.days).time) {
println file
}
}
}