Ответ 1
Так как вам действительно нужно поведение sed
, вы можете выполнить его, выполнив что-то вроде этого:
String[] cmdArray = {"bash", "-c", "sed 's/YourRegex/YourReplaceStr/' inputfile > output"};
Process runCmd = Runtime.getRuntime().exec(cmdArray);
Я помещаю пример bash, но если вы хотите запустить его в Windows, вы можете установить команду sed
через Cygwin и выполнить то же самое или просто установить команду sed для Windows, которую вы можете скачать здесь:
http://gnuwin32.sourceforge.net/packages/sed.htm
Для окон вы можете использовать:
String[] cmdArray = {"call", "sed 's/YourRegex/YourReplaceStr/' inputfile > output"};
Process runCmd = Runtime.getRuntime().exec(cmdArray);
У меня нет окон, поэтому вы не можете проверить выше команду, вам, возможно, придется удалить call
или изменить call
на sed
. Еще одна альтернатива, которую вы можете попробовать:
String[] cmdArray = {"cmd", "/c", "sed 's/YourRegex/YourReplaceStr/' inputfile > output"};
Process runCmd = Runtime.getRuntime().exec(cmdArray);
В этой ссылке вы можете найти пример dir
, выполненный из java, который вы можете адаптировать для использования sed.