小编hig*_*pes的帖子

使用jq修改JSON

我想使用Linux命令行修改JSON文件。

我尝试了以下步骤:

[root@localhost]# INPUT="dsa"
[root@localhost]# echo $INPUT
dsa
[root@localhost]# CONF_FILE=test.json
[root@localhost]# echo $CONF_FILE
test.json
[root@localhost]# cat $CONF_FILE
{
  "global" : {
    "name" : "asd",
    "id" : 1
  }
}
[root@localhost]# jq -r '.global.name |= '""$INPUT"" $CONF_FILE > tmp.$$.json && mv tmp.$$.json $CONF_FILE
jq: error: dsa/0 is not defined at <top-level>, line 1:
.global.name |= dsa
jq: 1 compile error
Run Code Online (Sandbox Code Playgroud)

所需的输出:

[root@localhost]# cat $CONF_FILE
    {   "global" : {
    "name" : "dsa",
    "id" : 1   } }
Run Code Online (Sandbox Code Playgroud)

bash json jq

3
推荐指数
2
解决办法
2595
查看次数

标签 统计

bash ×1

jq ×1

json ×1