我试图列出aws s3中的文件夹,并只从其中获取文件名。嵌套的unix命令不会在shell和抛出错误中执行。我知道通过导入org.apache.hadoop.fs._,我们还有其他方法可以做到这一点
我正在尝试的命令是:
import sys.process._
var cmd_exec = "aws s3 ls s3://<bucket-name>/<folder-name>/"
cmd_exec !!如果我通过嵌套ls的剪切命令来执行它。是扔错了。
import sys.process._
var cmd_exec = "aws s3 ls s3://<bucket-name>/<folder-name>/ | cut -d' ' -f9-"
cmd_exec !!错误信息:未知选项:x,cut,-d',',-f9- java.lang.RuntimeException:非零退出值: 255
有什么建议吗?
发布于 2019-06-19 14:53:21
AFAIK这是自然的。
import scala.sys.process._
val returnValue: Int = Process("cat mycsv.csv | grep -i Lazio")!上面的代码也不能工作..。
|是重定向操作符,以执行另一个命令。所以不是那个..。捕获输出并再执行一次。
你也可以看到这个文章- Scala shell脚本示例。其中scala程序可以作为shell脚本执行..。可能会有用的。
蒂!
https://stackoverflow.com/questions/56669889
复制相似问题