在Groovy中执行Unix cat命令?

时间:2011-05-15 13:34:36

标签: unix groovy

我想执行类似cat / path / to / file1 / path / to / file2>的操作。 / groovy程序中的/ path / to / file3。 我尝试了“cat / path / to / file1 / path / to / file2> / path / to / file3”.execute()但这不起作用。

经过一番搜索,我读到了sh -c。所以我试过了 “sh -c cat / path / to / file1 / path / to / file2> / path / to / file3”.execute(),但这也不起作用。

你有什么建议吗?

2 个答案:

答案 0 :(得分:4)

我相信你需要使用List.execute()方法在Shell中运行它,即:

[ 'sh', '-c', 'cat file1 file2 > file3' ].execute()

或者,你可以用groovy方式做到这一点

new File( 'file3' ).with { f ->
  [ 'file1', 'file2' ].each { f << new File( it ).asWritable() }
}

答案 1 :(得分:1)

也许您需要提供可执行文件的完整路径? "/bin/sh -c '/bin/cat file1 file2 >file3'".execute()