Сделайте либо скрипт для bash:
"/bin/bash" "-c" "cut file.txt -d' ' -f1-2 > hits.txt"
или разделить
"cut" "file.txt" "-d" "' '" "-f" "1-2"
В сообщении об ошибке четко сказано:
Cannot run program "cut file.txt"
, поэтому он интерпретирует «cut file.txt» как одно имя программы с пробелом внутри.
Ваша проблема начинается с перенаправления, потому что вы не можете перенаправить вывод таким образом:
"cut" "file.txt" "-d" "' '" "-f" "1-2" ">" "hits.txt"
Вы должны обрабатывать потоки ввода и вывода. Возможно, было бы лучше реализовать cut
в Java, чтобы получить переносимое решение или вызвать скрипт, который пользователь может указать в командной строке или в файле конфигурации, чтобы его можно было адаптировать для Windows или других платформ.
Вызов / bin / bash и перенаправление туда должны работать - на Unix-подобных системах.