Есть такая строка запуска:
java -jar smart-file-handler-cli -p -s xml \
-o /path/result.log 'text for search' ./
Вопрос о аргументах приложения:
-p -s xml -o /path/result.log 'text for search' ./
Как их удобнее всего распарсить? При том, что после -o
, это всё одно значение опционального аргумента.
Попробовал сделать regex:
/((-[\w]) (.*)?) ((-[\w]) (.*)?)/g
Пробовал применить парсеры команды, такие как: commons cli, google options. Но все они не спарсили адекватно опцию -o
.
Может доработать ругулярку? Или как можно еще?
Option option1 = Option
.builder()
.longOpt("p")
.argName("p")
.build();
Option option2 = Option
.builder()
.longOpt("s")
.argName("s")
.hasArgs()
.build();
Option option3 = Option
.builder()
.longOpt("o")
.argName("o")
.hasArgs()
.numberOfArgs(3)
.build();
CommandLineParser parser = new DefaultParser();
CommandLine parse = parser.parse(new Options().addOption(option1).addOption(option2).addOption(option3), args);
for (Option o : parse.getOptions()) {
System.out.println(o.getLongOpt() + " " + Arrays.toString(o.getValues()));
}
Т.е. потом склеить o.getValues()
для вашего случая
Входные аргументы
-p -s xml -o /path/result.log 'text for search' ./
Вывод работы программы
p null s [xml] o [/path/result.log, text for search, ./]
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Ничего не знаю про Spring, но стоит задача научиться ему за две неделиКак подойти правильно и эффективно к обучению? Книги? Статьи?
На форме у меня расположено два элемента jList и ComboBox которые получают информацию из бд SQLiteПри запуске программы я получаю пустой jList, хотя в ComboBox...