我正在尝试从我的Java代码执行sed
命令。该命令基本上是在文件OIMV2Migration.sh中的“python”替换单词“java”。
我使用的代码段是:
String [] replaceTextInOIMscipt = {"sed" , "'s:java:python:g'" ,OIMV2Migration.sh"};
Runtime.getRuntime().exec(replaceTextInOIMscipt);
这段代码没有对OIMV2Migration.sh文件进行任何更改。
答案 0 :(得分:0)
由于您的sed
脚本无效,因此无效。它以单引号字符'
开头,该字符不是有效的sed
命令。在您的情况下,您希望它以s
开头:
String [] replaceTextInOIMscipt = {"sed", "s:java:python:g", "-i", "OIMV2Migration.sh"};
Runtime.getRuntime().exec(replaceTextInOIMscipt);
另外,您错过了-i
/ --in-place
标记来编辑文件。