5

KornShell(ksh)スクリプトをGroovyに変換する作業をしています。私は次のFindコマンドを持っています-Unixコマンドに依存せずに同様のことを行うGroovyの方法は何でしょうか(クロスプラットフォームで動作するにはこれが必要なので、「何とか何とか」.execute()を実行できません)。

find <source directory> -name <file pattern> -type f -mtime +140 -level 0

このコードは、ファイルパターンに一致し、140日より古いソースディレクトリ(サブディレクトリなし)内のすべてのファイルを検索します。

4

1 に答える 1

6

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
        }
    }
}
于 2012-12-21T20:30:06.713 に答える