gpt4 book ai didi

java - 如何从 Java 代码运行 sed 命令

转载 作者:行者123 更新时间:2023-11-29 09:35:16 25 4
gpt4 key购买 nike

我可能遗漏了一些东西,但我正在尝试从 java 运行命令行

代码如下:

String command = "sed -i 's/\\^@\\^/\\|/g' /tmp/part-00000-00000";
ProcessBuilder pb = new ProcessBuilder(command);
pb.redirectErrorStream(true);
Process process = pb.start();
process.waitFor();
if (process.exitValue() > 0) {
String output = // get output form command
throw new Exception(output);
}

我收到以下错误:

 java.lang.Exception: Cannot run program "sed  -i 's/\^@\^/\|/g' /tmp/part-00000-00000": error=2, No such file or directory

文件是存在的。我在这个文件上做 ll 并且它存在。我只是在寻找一种方法让它在 java 中工作。我做错了什么?

最佳答案

将命令作为数组而不是字符串传递:

String[] command={"sed", "-i", "'s/\\^@\\^/\\|/g'", "/tmp/part-00000-00000"};

参见 ProcessBuilder文档。

关于java - 如何从 Java 代码运行 sed 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28610093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com