Shell Jq命令详解
导读
Json文件
对象是属性、值的集合。一个对象开始与”{” ,结束于”}”。每一个属性名和值间用”:”分隔。每个属性间用”,”分隔。
值可以是字符串,数字,逻辑值,数组,对象,null。 数字:整数或浮点数 字符串:在双引号中 逻辑符:true和false
数组:在方括号中 对象:在花括号中 null: 代表空
示范
jq “.” 解析全部内容
jq “.name,.id” 解析key为name和id的value ,为分隔符,基于当前
一般使用
{"name":"ym68","id":68,"url":"https://www.ym68.cc"}
解析Json格式文件内容
[root@Frpd-vip ~]# jq . a { "name": "ym68", "id": 68, "url": "https://www.ym68.cc" }
解析指定key内容
[root@Frpd-vip ~]# jq .name a "ym68" [root@Frpd-vip ~]# jq .name,.id a "ym68" 68
常规
jq “.name_list|.[].name,.[].id” 解析指定key值,当有[]时需|进行分割
{"name_list":[{"name":"zhangsan","id":12},{"name":"lisi","id":13}],"id":68,"url":"https://www.ym68.cc"}
[root@Frpd-vip ~]# jq . a { "name_list": [ { "name": "zhangsan", "id": 12 }, { "name": "lisi", "id": 13 } ], "id": 68, "url": "https://www.ym68.cc" } [root@Frpd-vip ~]# jq ".name_list|.[].name,.[].id" a "zhangsan" "lisi" 12 13 [root@Frpd-vip ~]# jq ".name_list|.[]|.name,.id" a "zhangsan" 12 "lisi" 13
重新指定输出内容
jq “.name_list|.[]|{mingcheng:.name,yonghuid:.id}” 将[]中的内容进行重输出
[root@Frpd-vip ~]# jq ".name_list|.[]|{mingcheng:.name,yonghuid:.id}" a { "mingcheng": "zhangsan", "yonghuid": 12 } { "mingcheng": "lisi", "yonghuid": 13 } [root@Frpd-vip ~]# jq ".name_list|.[]|{mingcheng:.name,yonghuid:.id,xinzeng:\"codedd\",xinzen2:12}" a { "mingcheng": "zhangsan", "yonghuid": 12, "xinzeng": "codedd", "xinzen2": 12 } { "mingcheng": "lisi", "yonghuid": 13, "xinzeng": "codedd", "xinzen2": 12 }
待完善~
评论(0)