Если ввести в гугл «nginx config to json», то, внезапно, по первой ссылке будет гитхаб nginx inc с вот этим репозиторием: https://github.com/nginxinc/crossplane
Это, конечно, питон, а не баш, но в 2024 на любой тачке, где есть баш, с максимальной вероятностью питон тоже есть.
Если вводить в гугле «nginx config to json» с мыслью нарваться на что угодно, кроме тебе необходимого, то почти любая выдача подойдёт.
Максимальная вероятность - 100%, и существуют сервера (с максимальной вероятностью), которые заведены не в 24 году.
А еще не тобой, а твоими коллегами или вашими клиентами.
И их могут быть сотни.
А вопрос изначально предполагал инструментарий командной строки для решения задачи.
К чему скачки в дебри вокруг?
Мне необходимо представление файлов конфигурации Nginx в формате JSON для последующего их парсинга, например, возможности вытащить все server_name директивы из сотни файлов конфигурации не в ручную.
А вопрос изначально предполагал инструментарий командной строки для решения задачи.
Так тебе и выдали этот инструментарий командной строки который превращает конфиги Nginx в JSON-листинги по ссылке на GitHub выше, или что религия запрещает по ссылке пройти?
Bash
Удел говнокодеров «тяп-ляп и готово». Никто в здравом уме не будет делегировать написание сложной задачи (а парсинг конфига Nginx именно такой задачей и является) на убогонький скриптовый недоязычок Shell/Bash.
Нормальные люди возьмут что-то более вменяемое и решат задачу на том же Python, как это и сделано в проекте crossplane выше.
Хоспаде. Нормальные люди еще, намереваясь отправиться в лесной поход на две недели, несомненно будут сначала выстраивать в месте ночлега коттедж, а не брать с собою обыкновенную туристическую палатку, ибо их религия им явно запрещает тушу свою в тряпичной усыпальнице держать.
Я благодарю за советы, комментарии и мнения, они чрезвычайно ценные, но в рамках начатого мною дискурса совершенно мне не интересные.
Есть определённая задача, что вполне четко и однозначно указана выше, и ее решение мне нужно в изначально указанных условиях, а не в обсуждении того, как эти условия из чьего-то иного мнения необходимо поменять.
Там нужно парсер языка конфигов nginx написать, чтобы все хранить в виде какой-то древовидной структуры, а потом ее… Ну ее нельзя превратить в json, потому что в конфигах нгикса можно куярить прямо вставками на яваскрипте. Можно лишь придумать какой-то формат json-дрисни, который будет компилиться в простенькие конфиги, но не нужно
необходимо представление файлов конфигурации Nginx в формате JSON для последующего их парсинга, например, возможности вытащить все server_name директивы из сотни файлов конфигурации не в ручную