文章目录

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

一、命令解析

  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 在线解析界面

Linux 命令之 jq相关推荐

  1. linux命令下jq的用法(curl 格式化输出json 字符串)

    文章目录 一.什么是jq命令 1. jq安装 2. jq命令的格式 从json文件 对象数组中取出一组特定的属性的值 从json文件 对象数组中取出一组特定的属性的值,并排除null值 格式化输出js ...

  2. linux命令下jq的用法简介

    jq简介 jq可以对json数据进行分片.过滤.映射和转换,和sed.awk.grep等命令一样,都可以让你轻松地把玩文本.它能轻松地把你拥有的数据转换成你期望的格式,而且需要写的程序通常也比你期望的 ...

  3. linux命令之jq

    概述 jq是一个解析json的命令行工具. 用法 美化 $ echo '{"name": "test", "age": 33}' | jq ...

  4. linux 命令之jq

    jq命令允许直接在命令行下对JSON进行操作,包括分片.过滤.转换等 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.基于JavaScript(Stand ...

  5. jq输出文本_如何用 Linux 命令行工具解析和格式化输出 JSON | Linux 中国

    我们将使用 Linux 上的命令行工具解析并格式化打印 JSON.它对于在 shell 脚本中处理大型 JSON 数据或在 shell 脚本中处理 JSON 数据非常有用.-- Ostechnix J ...

  6. Linux杂谈之jq命令

    一   JSON (1)什么是json 1) JSON 是最常用的'配置'和'数据交换'格式之一,一种与'开发语言无关-->独立于语言的文本格式'的.'轻量级'的数据存储格式,全称JavaScr ...

  7. 实用!五款新型 Linux 命令行工具

    使用新的替代工具来改进旧的命令行工具. 作者 | Ricardo Gerardi 译者 | 弯月,责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 以下为译文: 在Linux/Unix系统 ...

  8. Linux下安装jq

    Linux下安装jq 查看是否有jq安装包 yum list| grep jq 若有,直接安装jq yum -y install jq 直接在命令行输入:jq,然后回车,看到以下信息说明安装完毕 jq

  9. Linux命令行使用总结

    必读 范围: 这是为 Linux 写的.绝大部分条目都可以同样应用到 MacOS(或者甚至 Cygwin). 主要针对交互式 Bash,尽管大多数小窍门也可以应用到其它 shell,以及常规 Bash ...

最新文章

  1. 第十五届全国大学生智能汽车竞赛青少年组获奖名单
  2. 实训项目2Linux基本命令,实训项目2 Linux文件系统管理
  3. 中文转unicode,中文转bytes,unicode转bytes java实现
  4. 【Linux网络编程】Linux多播问题(No such device)解决方法
  5. 关于Python的一些学习笔记(小白式笔记,持续更新)
  6. 区块链 怎么设置区块最大交易容量
  7. WAIT numslaves timeout
  8. 定时器函数执行原理揭秘
  9. Linux驱动基础知识(一)
  10. ORACLE Primavera P6 / Unifier 19.12 免费虚拟机
  11. 【数学建模】CUMCM-2016A 系泊系统的设计 解题思路整理
  12. dataBinding 配置问题 Could not find method buildFeatures()for arguments xxx on extension ‘android
  13. char * 与char []区别总结
  14. 【转】全套汽车标志\路牌,好不容易找到的哦!
  15. *TEST 11 for NOIP 再次爆炸 (100-300)-----(( ! ))
  16. nb_200905_2019_cvpr_Slow-Motion from Blurry Videos
  17. SwiftUI AVKit 之合并和叠加音频mp3 并输出
  18. excel批注不显示批注框_批注和批注处理器入门指南[解释]
  19. iOS 隐形水印之 LSB 实现
  20. 在qt中实现图片的加载

热门文章

  1. Java爬虫之JSoup使用教程
  2. Lenovo YOGA 14s(不只适合这一款机型)重装系统后触控板失灵 + 解决方法 )
  3. android手机密码忘了哪个电话打开,安卓手机锁屏密码忘了怎么办 解决锁屏密码六种方法介绍...
  4. jQuery选择器$()
  5. magento怎么修改货币符号,在之前加上国家缩写
  6. ZYNQ 7000 AMP模式双裸核运行 双方共享内存交互
  7. google glog使用指南
  8. 华为云主机怎么样?华为云弹性云服务器有什么优势?
  9. 微服务架构,springcloud核心组件和实战,docker容器
  10. matlab 仿射变换函数,matlab 中的仿射变换函数