Ниже приведен пример программы, которая генерирует команду gwak и выполняет ее из scala. Сгенерированная команда выдает «недопустимый символ в ошибке выражения»
Если эта же команда выполняется непосредственно из командной строки macOS, она работает без ошибок.
package org.mogli.pup.main
object GAwkSample {
def main(args: Array[String]): Unit = {
val text = "hello world"
val home = sys.env("HOME")
val cmnd = s"gawk -i inplace 'NR==7{print " + "\"" + text + "\"" + s"}1' ${home}/FirstEg.txt"
println(s"$cmnd")
import sys.process._
s"$cmnd" !
}
}
Вывод выше scala программа: -
gawk -i inplace 'NR == 7 {print "hello world"} 1' /Users/mogli/FirstEg.txt
gawk: CMD. строка: 1: 'NR == 7 {print gawk: cmd. строка: 1: ^ неверный символ '' 'в выражении