Я знаю, что при корректировке метрику, я мог бы достичь приоритета правила маршрутизации, но проблема в том, что наименьшей метрикой является одной из приоритетных и я не думаю, что я могу установить ненулевой приоритет для тех, мостов созданные настройки автоматически. @CMaster я недавно ездил в Шотландию без машины, делая экскурсию на остров Скай, то же и другие компании также предлагают дополнительные экскурсии. Стоунхендж-это даже легче, со множеством автобусных компаний, а также местные автобусы. Именно то, что требуется, чтобы ответить на отлично. @Толстым центральная предпосылка это ответ "этот пункт из закона содержится ответ. Он говорит на простом английском языке". Обе части, что не правы ... это о задержании, и в то время как остальной текст верен сам по себе, он никоим образом не имеет отношения к первой части ответа.

Используя TXR язык:

@(привязка наследования-времени нет)
@(привязка наследования-вре шь)
@(сбора)
@ (все)
@отступ/* ---------- @имя_задания ---------- */
@ (и)
@/ *//* ---------- @Нил#@типа#@шь ---------- */
@ (конец)

@ (привязки-отступ @(> (длина штрабы) 0))
@ (собрать :Варс ((время "") (вре "") (Маха "") (Н "") (УМК "")))
@/ */start_times: "@*время"
@/ */days_of_week: @вре
@/ */машина: @Маха
@/ */описание: "@*Опи"
команда@/ */: @ЦМД
@ (пока)

@ (конец)
@ (случаи)
@ (вставка привязки типа"")
@ (комплект (наследовать-унаследовать времени-вре) (время в расписании))
@ (или)
@ (привязка введите "ЦМД")
@ (привязки отступы Т)
@ ((время вре) (наследовать-унаследовать времени-вре))
@ (конец)
@(конец)
@(выходной)
"Название Задания", "Время", "Расписание", "Машина", "Описание", "Команда"
@ (повтор)
"@имя_задания", "@время", "@рас", "@мах", "@ОП", "@ЦМД"
@ (конец)
@(конец)

Это очень наивный подход. Из каждой записи, мы извлекаем все поля, которые нас интересуют, заменяя пробелы на те, которых нет (по умолчанию значения :Варс аргумент @(сбора)). Мы обращаем внимание на тип задания (коробка или ЦМД), и вмятины. Когда мы видим окно, мы копируем несколько свойств окна в глобальные переменные; и когда мы видим cmd, который изрезан, он копирует эти свойства. (Мы предполагаем, слепо, что они были созданы в более ранней коробке.)

Выполнить:

$ txr рабочих мест.txr вакансии
"Название Задания", "Время", "Расписание", "Машина", "Описание", "Команда"
"Та#коробка#AbC_p", "16:15", "Су", "", "работа ABC, которая проходит в 4:15 вечера по воскресеньям, и должна закончиться до 5:30 вечера", ""
"Та#ЦМД#EfGJob_p", "16:15", "Су", "vm_machine1", "работа ЕФГ, который работает в АВС окна", "/path/to/shell/script.sh"

Обратите внимание на то, что выход через запятую цитирует поля, но ничего не делается в отношении к тому, что данные содержит кавычки. Если цитаты как-то сбежал в описание:, то, что сохранится, конечно. На @*описание нотации жадный матч, и так описание: "а-б"с\"д" приведет к Опи принимая на символов Б"С\"Д которая будет воспроизведена дословно в выходной.

Хорошая вещь об этом решении является то, что если у нас нет примера из данных, можно догадаться из структуры кода, так как он выражает упорядоченный шаблон через файл. Мы видим, что есть разделы были собраны, которые начинаются с /* --- ... --- */ строки, в которых имя-задания вкладывается, и что существует тип поля между двух меток в середине имя задания. Затем обязательная пустая строка следует после того, какие свойства собрались, пока еще пустую строку и так далее.