下面是json的内容,需要使用jq
通过合并外部键和内部键并设置它们的值与内部键相同来创建新的键。
{
"es": {
"host": "https://es-host.ap-south-1.es.amazonaws.com",
"user": "es_admin",
"pass": "pa$$w0rd"
},
"db": {
"host": "https://db-host.ap-south-1.es.amazonaws.com",
"user": "db_admin",
"pass": "pa$$w0rd"
}
}
预期输出:
ES_HOST="https://es-host.ap-south-1.es.amazonaws.com"
ES_USER="es_admin"
ES_PASS="pa$$w0rd"
DB_HOST="https://db-host.ap-south-1.es.amazonaws.com"
DB_USER="db_admin"
DB_PASS="pa$$w0rd"
尝试了几个与jq的组合,但无法做到必要的。先谢谢你了。
1条答案
按热度按时间hs1rzwqc1#
一种方法是使用
paths
遍历文档,然后使用getpath
检索该路径上的值:Demo
另一种方法是使用
to_entries
提供的项目中的.key
和.value
,使用两次,因此正好下降两个级别:Demo
输出(根据其用途,您可能需要将
@json
更改为@sh
):