反射 hyperlink nlp angularjs版本 河南网络推广 查看oracle连接数 hbase集群搭建 java解析json数组 arraylist删除指定元素 bootstrap单选按钮 cad正在执行命令 java高级特性 python中count python返回函数 python匹配字符串 java教学 java连接mysql java斐波那契数列 java字符串函数 图吧导航怎么样 js四舍五入 火牛软件 销售单软件 制作字幕的软件 按键精灵脚本教程 流水账软件 VSPD 粉碎文件工具 死从天降成就 lol无法连接服务器 videoview 内存条有什么用 服务器下载 python游戏编程 ps反光效果 刷机精灵下载 剑魔刷图加点 pr特效插件 dwg看图软件 声音测试软件
当前位置: 首页 > 学习教程  > 编程语言

Linux 命令之 jq

2020/8/11 19:15:48 文章标签:

文章目录

        • 一、命令解析
        • 二、命令安装
        • 三、命令语法
        • 四、命令使用

一、命令解析

  jq 命令允许直接在命令行下对 JSON 进行操作,包括分片、过滤、转换等。有点类似于 Lambda 表达式的 Stream 流的操作。

二、命令安装

基于 CentOS7 的安装方式

  1. 通过 yum 安装

    # 安装EPEL源
    yum install epel-release
    
    # 查看下jq包是否存在
    yum list jq
    
    # 安装jq
    yum install jq
    
  2. 通过官网安装包安装

    # 解压 tar.gz 包进入目录 
    
    # 编译安装
    ./configure && make && make install
    

三、命令语法

  • 语法格式

    # jq + 可选参数 + 过滤条件 + 文件位置
    jq [options] filter [files]
    
  • 操作参数

    **options:**
    
    --version:输出jq的版本信息并退出
    --slurp/-s:读入整个输入流到一个数组。
    --raw-input/-R:不作为JSON解析,将每一行的文本作为字符串输出到屏幕。
    --null-input/ -n:不读取任何输入,过滤器运行使用null作为输入。一般用作从头构建JSON数据。
    --compact-output /-c:使输出紧凑,而不是把每一个JSON对象输出在一行。
    --colour-output / -C:打开颜色显示
    --monochrome-output / -M:关闭颜色显示
    --ascii-output /-a:指定输出格式为ASCII
    -raw-output /-r :如果过滤的结果是一个字符串,那么直接写到标准输出(去掉字符串的引号)
    
  • 过滤参数

    **filter:**
    .   : 默认输出
    .foo: 输出指定属性,foo代表属性。
    .[foo] :输出指定数组元素。foo代表数组下标。
    .[]:输出指定数组中全部元素
    , :指定多个属性作为过滤条件时,用逗号分隔
    | : 将指定的数组元素中的某个属性作为过滤条件
    
    **files:**
        JOSN格式文件。
    

四、命令使用

  1. 测试 JSON 格式数据

    [{"hostCompany":"Beijing Autelan Technology","hostModel":"CS-VIC-2000-C","hostsn":"01010730b12014A00477","mac":"00:1F:64:CE:F3:8E","cpuModel":"MIPS 74Kc V4.12","cpuSN":"000000","memoryModel":"abcdefg","memorySN":"000000","boardSN":"01010730b12014A00477","networkCardMac":"00:1F:64:CE:F3:8F","lowFreModel":"AR9344","lowFreSN":"000000","hignFreModel":"AR9582","hignFreSN":"000000","gpsModel":"abcdefg","gpsSN":"000000","MEID_3g":"A000004E123ABD2","Company_3g":"ZTEMT INCORPORATED","modelOf3g":"MC271X","snOf3g":"A000004E123ABD2","iccid":"89860314400200885980","Operators":"CTCC","hardVersion":"1.20","firmwareVersion":"1.0.6.29"}]
    
  2. 格式化 JSON 内容

    .
    

    在这里插入图片描述

  3. 通过 . + key 获取对应的值,如果 JSON 串有层级,可以不断深入

    .[].hostCompany
    

    在这里插入图片描述

  4. 多个输出对象一起过滤

    .[].hostCompany, .[].hostModel
    

    在这里插入图片描述

  5. 多个连接管道

    .[] | .hostModel , .hostCompany 
    

    在这里插入图片描述

  6. jq 1.6 在线解析界面


本文链接: http://www.dtmao.cc/news_show_100109.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?