合并两个JSON在bash(无JQ) [英] Merge two json in bash (no jq)

查看:1158
本文介绍了合并两个JSON在bash(无JQ)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个jsons:

env.json

{  
   "environment":"INT"
}

roles.json

roles.json

{  
   "run_list":[  
      "recipe[splunk-dj]",
      "recipe[tideway]",
      "recipe[AlertsSearch::newrelic]",
      "recipe[AlertsSearch]"
   ]
}

预期的输出应该是这样的一些东西:

expected output should be some thing like this :

{  
       "environment":"INT",
    "run_list":[  
          "recipe[splunk-dj]",
          "recipe[tideway]",
          "recipe[AlertsSearch::newrelic]",
          "recipe[AlertsSearch]"
       ]
    }

我需要时只使用内置的bash命令这两个JSON(以及其他类似的这两个)合并成一个单一的JSON。

I need to merge these two json (and other like these two) into one single json using only available inbuilt bash commands.

只有已sed的,猫,呼应,尾,厕所在我手上。

only have sed, cat, echo, tail, wc at my disposal.

推荐答案

一个有点哈克,但希望会做。

A little bit hacky, but hopefully will do.

env_lines=`wc -l < $1`
env_output=`head -n $(($env_lines - 1)) $1`
roles_lines=`wc -l < $2`
roles_output=`tail -n $(($roles_lines - 1)) $2`
echo "$env_output" "," "$roles_output"

这篇关于合并两个JSON在bash(无JQ)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆