【发布时间】:2024-01-10 20:59:01
【问题描述】:
我在一个列表中输出了一个 IPv4 地址列表,每个地址由 \n 分隔。我想将这些导入到的程序期望它采用这种格式:
{
"data":[
{ "IP":"127.0.0.1" },
{ "IP":"192.168.0.1" }
]
}
上面的输入数据应该是这样的:
127.0.0.1
192.168.0.1
我在jq cookbook 中查看了一些想法,但我能够串起来的最接近的是使用 [] 而不是 {},不是内部数据,并且只有没有键的值。
jq -sR '[sub("\n$";"") | splits("\n") | sub("^ +";"") | [splits(" +")]]'
输出:
[
[
"127.0.0.1"
],
[
"192.168.0.1"
]
]
【问题讨论】:
标签: json bash formatting sh jq