签到成功

知道了

CNDBA社区CNDBA社区

linux下处理JSON的工具---jq 安装

2017-01-17 15:54 7645 0 原创 Linux
作者: Expect-乐
  jq就像sed一样处理JSON格式的数据,你可以使用它实现sed,awk,grep有的切片,过滤,转换数据结构的一些功能。

安装

[root@ceph-osd1 ~] # yum install jq
[root@ceph-osd1 ~]# jq --version
jq-1.5

例子:

原来的返回格式:

[root@ceph-osd1 ~]# ceph mon_status
{"name":"ceph-osd1","rank":0,"state":"leader","election_epoch":132,"quorum":[0,1,2],"outside_quorum":[],"extra_probe_peers":[],"sync_provider":[],"monmap":{"epoch":8,"fsid":"21ed0f42-69d2-450c-babf-b1a44c1b82e4","modified":"2017-01-17 14:42:49.383110","created":"2016-11-08 17:06:39.164349","mons":[{"rank":0,"name":"ceph-osd1","addr":"192.168.1.141:6789//0"},{"rank":1,"name":"ceph-osd2","addr":"192.168.1.142:6789//0"},{"rank":2,"name":"ceph-osd3","addr":"192.168.1.143:6789//0"}]}}
使用jq格式化后返回的格式,很明显可读性就很强了。

[root@ceph-osd1 ~]# ceph mon_status | jq .
{
  "name": "ceph-osd1",
  "rank": 0,
  "state": "leader",
  "election_epoch": 132,
  "quorum": [
    0,
    1,
    2
  ],
  "outside_quorum": [],
  "extra_probe_peers": [],
  "sync_provider": [],
  "monmap": {
    "epoch": 8,
    "fsid": "21ed0f42-69d2-450c-babf-b1a44c1b82e4",
    "modified": "2017-01-17 14:42:49.383110",
    "created": "2016-11-08 17:06:39.164349",
    "mons": [
      {
        "rank": 0,
        "name": "ceph-osd1",
        "addr": "192.168.1.141:6789/0"
      },
      {
        "rank": 1,
        "name": "ceph-osd2",
        "addr": "192.168.1.142:6789/0"
      },
      {
        "rank": 2,
        "name": "ceph-osd3",
        "addr": "192.168.1.143:6789/0"
      }
    ]
  }
}


同样,对于符合JSON格式的文件,也是一样的效果。如果不是JSON格式,就会报错。

[root@ceph-osd1 ~]#cat json_err.txt |jq .
    parse error: Expected separator between values at line 1, column 183


更多使用方法参考:
http://xmodulo.com/how-to-parse-json-string-via-command-line-on-linux.html
官方文档:
https://stedolan.github.io/jq/

http://www.cndba.cn/Expect-le/article/1724
http://www.cndba.cn/Expect-le/article/1724 http://www.cndba.cn/Expect-le/article/1724 http://www.cndba.cn/Expect-le/article/1724
http://www.cndba.cn/Expect-le/article/1724
http://www.cndba.cn/Expect-le/article/1724
http://www.cndba.cn/Expect-le/article/1724
http://www.cndba.cn/Expect-le/article/1724
http://www.cndba.cn/Expect-le/article/1724
http://www.cndba.cn/Expect-le/article/1724

版权声明:本文为博主原创文章,未经博主允许不得转载。

jq

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Expect-乐

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

  • 336
    原创
  • 6
    翻译
  • 100
    转载
  • 41
    评论
  • 访问:1547490次
  • 积分:1957
  • 等级:核心会员
  • 排名:第4名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ