Unix ';ls-l';在groovy中

Unix ';ls-l';在groovy中,unix,groovy,Unix,Groovy,我需要在groovy中使用ls-lunix命令显示文件的名称、大小和日期 我们如何在groovy中运行ls-l来查看信息 提前谢谢 "ls -l".execute().text 应该这样做如果您不介意将自己限制在Java所知道的文件属性上,那么您可以使用file类的方法以更可移植、更灵活、更安全、更高效的方式来实现这一点 def list = 'ls -l'.execute().text list.eachLine{ // code goes here } File dir = ne

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

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

提前谢谢

"ls -l".execute().text

应该这样做

如果您不介意将自己限制在Java所知道的文件属性上,那么您可以使用file类的方法以更可移植、更灵活、更安全、更高效的方式来实现这一点

def list = 'ls -l'.execute().text
list.eachLine{
    // code goes here
}
File dir = new File(".")
dir.eachFile { f ->
   println "${f} ${f.size()} ${new Date(f.lastModified())}"
}
检查GroovyDocs和JavaDocs中的文件,查看可以过滤文件的所有方法,以及可以访问的所有属性

当然,您可以在该块中使用任何代码,替换println


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

是的,我的要求是产生精确输出。但我想考虑一下你的意见。我的要求现在可能会改变。感谢对任何类型的专业人员进行的评论,该解决方案应该受到大力支持,因为它与平台无关,速度更快,更可靠。对于您自己的脚本,我想说这仍然更容易处理,但有时编写脚本时,您只是想完成一些事情。