Доброго времени суток
IBM, родина велосипедов
Вот кусок вывода «lsyscfg -r prof -m $server» с hmc
affinity_group_id=none,
"io_slots=21010284/none/1,21010204/none/1,21010205/none/1,2101028D/none/0",
"virtual_eth_adapters=""72/1/1/704,706,744,714,715,700/1/0/ETHERNET0//all/none"",73/0/199//0/0/ETHERNET0//all/none,74/0/714//0/0/ETHERNET0//all/none",
на строки разбил я, чтобы было понятнее. В выводе утилиты всё это в одной строке слитно, без пробелов
Видны минимум три уровня:
- на первом уровне параметры разделены запятой
- на втором уровне ( если в значении параметра есть отдельные элементы, разделённые запятой ), вся пара key=value заключается в кавычки
- на третьем уровне ( если в параметре есть элементы, разделённые запятой, которые в свою очередь разделены на подэлементы, также запятой ), подэлемент заключается в двойные кавычки
Насколько я понимаю, обойтись лямбдами не получится, придётся перебирать всю строку по символу, учитывая на каком уровне сейчас находишься.
Есть идеи лучше? Или может это не велосипед, а более-менее стандартный формат и есть готовые библиотеки?