Скажите, что у меня есть ввод как
{"DESCRIPTION": "Need to run script to do stuff", "PRIORITY": "Medium"}
но также получить ввод, как
{"STACK_NAME": "applecakes", "BACKEND_OR_INTEGRATIONS": "integrations", "PRIORITY": "Medium"}
т.е. параметры могут быть совершенно разными.
Мне нужно получить вывод в более удобном формате, чтобы отправить его Джире, чтобы оформить билеты. В частности, я хотел бы убрать форматирование json и вставить \n
между каждой парой ключей. Вот как должны выглядеть приведенные выше образцы:
DESCRIPTION: Need to run script to do stuff\nPRIORITY: Medium
STACK_NAME: applecakes\nBACKEND_OR_INTEGRATIONS: integrations\nPRIORITY: Medium
В этом может быть некоторая гибкость, если, например, нужно больше места или что-то еще.
Пока у меня все получилось (при условии, что мой ввод хранится в переменной с именем description
echo $description | jq -r "to_entries|map(\"\(.key)=\(.value|tostring)\")|.[]"
Это работает, чтобы убрать форматирование JSON, но не обрабатывает переводы строки. Я поставлен в тупик о том, как сделать так, чтобы я разделял только на каждую пару ключей, а не на каждый пробел или что-нибудь столь же грязное. Что мне нужно добавить, чтобы включить новые строки? Карта - даже мой лучший выбор?