SED命令不通过JAVA代码执行

时间:2017-07-12 08:49:55

标签: java shell sed

我正在尝试从我的Java代码执行sed命令。该命令基本上是在文件OIMV2Migration.sh中的“python”替换单词“java”。

我使用的代码段是:

String [] replaceTextInOIMscipt = {"sed" , "'s:java:python:g'" ,OIMV2Migration.sh"};

Runtime.getRuntime().exec(replaceTextInOIMscipt);

这段代码没有对OIMV2Migration.sh文件进行任何更改。

1 个答案:

答案 0 :(得分:0)

由于您的sed脚本无效,因此无效。它以单引号字符'开头,该字符不是有效的sed命令。在您的情况下,您希望它以s开头:

String [] replaceTextInOIMscipt = {"sed", "s:java:python:g", "-i", "OIMV2Migration.sh"};
Runtime.getRuntime().exec(replaceTextInOIMscipt);

另外,您错过了-i / --in-place标记来编辑文件。