jq--Json数据命令行处理工具

    今天在github上下载的一个脚本中发现了一个jq命令,起初还以为是开发人员自己的开发命令,但是苦于不知道这个命令执行完的效果是什么,就搜索了以下,发现还真有jq命令,还是个神器,jq的官方地址在这里,官方的解释是这样的:jq is a lightweight and flexible command-line JSON processor.

    乍一看是处理JSON格式的数据的,假如在/tmp目录下有个data文件,里面的数据是JSON格式,直接cat data文件,并看不出JSON格式很好的层次,我一般都会用python处理以下:

        data文件:

{"user":"guol","location":{"country":"China","city":"shanghai"},"titles":[{"A":"9","B":"3"},{"C":"1","D":"0"}]}
          python处理: cat data | python -m json.tool

        还要打一串命令,除了看着明白外,也不能针对JSON格式的数据做进一步操作。


1    下载安装jq

wget http://stedolan.github.io/jq/download/linux64/jq
        或者安装开发版

git clone https://github.com/stedolan/jq.git

2    使用jq命令查看JSON格式的数据

        注意jq命令后面的那个".",是jq最基本的匹配模式,jq的功能可不止这一点点,因为jq后面跟的是匹配模式,所以你有多种方法匹配你想要的结果,jq支持多种匹配模式,例如直接匹配文件里面的数据:

        也可以访问元组里的数据:

        如果没有相关值,则返回null

        以上只是jq的简单用法,jq还有一些内建函数,用来查询你匹配的值是否存在,例如:length、keys、has、del、select、max、any、all、range、sqrt等等。官方给出了很好的例子,把这篇<<jq manual>>学会,就掌握jq的大部分用法了。





转载于:https://my.oschina.net/guol/blog/282402

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值