当我试图用Java执行它时,SED命令没有执行,而手动执行成功。没有回应&在输出中看不到错误。java sed命令没有产生响应
我的SED命令: 手动:
sed -i 's/abc/xyz/' /home/tmp.txt
在java中的文件:
String[] cmdtest = {"sed ", "-i","'s/abc/xyz/'"," /home/tmp.txt"};
过程:
StringBuffer output = new StringBuffer();
Process p = null;
try {
p = Runtime.getRuntime().exec(cmdtest);
p.waitFor();
BufferedReader reader =
new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = reader.readLine())!= null) {
output.append(line + "\n");
}
} catch (Exception e) {
e.printStackTrace();
}
'sed的-i'不产生任何输出,你有什么期待看到? –