我有一个bash $string
,包含以下值:abc,def
和一个 * 文件.json*,如下所示:
[
{
"loc": "51.12345, 12.12345",
"city": "CityName1"
},
{
"loc": "65.12345, 15.12345",
"city": "CityName2"
}
]
我尝试用字符串中的值更新city字段,得到以下结果:
[
{
"loc": "51.12345, 12.12345",
"city": "abc"
},
{
"loc": "65.12345, 15.12345",
"city": "def"
}
]
我尝试这个代码,但它不工作,任何建议?
string="abc,def"; jq --arg variable "$string" '.city = $string' file.json
3条答案
按热度按时间guz6ccqo1#
你要找的东西是这样的:
juzqafwq2#
使用nodejs时:
从脚本:
输出文件:
unhi4e5o3#
使用
reduce
是另一种方法,提供相同的长度,它允许迭代条目及其索引,然后可以使用索引访问输入数组。我得到一个jq版本1.4的错误
为了使这种方法与jq1.4兼容,用一个普通变量替换变量destructuring,并在以后访问它的部分,例如。
输出: