在时髦的'ls -l'

时间:2010-06-21 11:03:08

标签: unix groovy

我需要在groovy中使用ls -l unix命令显示文件的名称,大小,日期。

我们如何在groovy中运行ls -l来查看信息?

提前感谢。

3 个答案:

答案 0 :(得分:7)

"ls -l".execute().text

应该这样做

答案 1 :(得分:5)

def list = 'ls -l'.execute().text
list.eachLine{
    // code goes here
}

答案 2 :(得分:4)

如果您不介意将自己限制在Java所知的文件属性中,您可以使用File类的方法以更便携,灵活,安全和有效的方式执行此操作。

File dir = new File(".")
dir.eachFile { f ->
   println "${f} ${f.size()} ${new Date(f.lastModified())}"
}

检查GroovyDocs和JavaDocs for File,查看筛选文件的所有方法,以及您有权访问的所有属性。

当然,您可以在该块中包含任何代码,替换println。

在Perl世界中,我们了解到,当本机Perl是一个选项时,通常要避免调用shell命令。我认为,在Groovy中更是如此。当然,你可能有一个特殊的要求,你需要确切的输出'ls -l'会产生。