我有一个像下面这样的scala进程命令来使用linux bash egrep命令。但是终端和我的scala生成的文件中的搜索结果并不相同。 Scala结果包含具有“new”和“Exception”的所有内容,而我希望输出仅包含具有“new Exception”的行。我在这里错过了什么吗?请帮忙
if (("egrep -r -I -n -E \"*new Exception*\" /mysource/" #|
"grep -v .svn").! == 0) {
out.println(("egrep -r -I -n -E \"*new Exception*\" /mysource/" #|
"grep -v .svn").!!)
}
答案 0 :(得分:3)
docs说(在“运行的内容和方式”下):Implicitly, each process is created either out of a String, with arguments separated by spaces -- no escaping of spaces is possible -- or out of a scala.collection.Seq, where the first element represents the command name, and the remaining elements are arguments to it. In this latter case, arguments may contain spaces
因此,显然如果您需要通过命令行传递带有空格的单个参数,例如new Exception
,则需要从Seq
而不是String
创建流程构建器