Я получаю IOException при попытке запустить команду через патч в Java с помощью ProcessBuilder:IOException, а подножка Баш команд через ProcessBuilder
ERROR: java.io.IOException: Cannot run program "sed -i 's/hello world//g'
/home/user/test": error=2, No such file or directory
Команда является sed -i 's/hello world//g' /home/user/test
Но проблема не команда, я может выполнить ту же команду через терминал, и он будет удалить строку «привет мир»
public void removeString(String str, String file) throws IOException {
String command = "sed -i \'s/" + str + "//g\' " + file;
System.out.println(command);
ProcessBuilder pb = new ProcessBuilder(command);
Process p = pb.start();
}
что вызывает процесс, чтобы быть не в состоянии найти файл?
вы можете попробовать запустить двоичный файл sed, используя полный путь. – Snicolas