linux的jq命令

1、下载jq

wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64

2、添加可执行权限

chmod +x jq-linux64

3、添加到环境变量里面

mv jq-linux64 /usr/bin/

4、改名

mv /usr/bin/jq-linux64 /usr/bin/jq

5、可以用来

用法:

1、cat json.test |jq “.name”

"xueyuan"

2、cat json.txt |jq

3、检查文本:jq ‘.’ json_file > /dev/null

4、支持切片jq “.skills[0:2]” json.test

5、支持多个索引值查找

[root@localhost ~]# jq “.skills,.age” json.test
[
“C/C++”,
“Python”,
“Golang”,
“Node.js”
]
21

6、数值运算:

[root@localhost ~]# echo 1 | jq ‘(.+2)*5’
15

7、求json的字段长度:

[root@localhost ~]# cat json.test |jq ‘.[] |length’
4
21
11
7
24
[root@localhost ~]# cat json.test |jq ‘.’
{
“skills”: [
“C/C++”,
“Python”,
“Golang”,
“Node.js”
],
“age”: 21,
“birthday”: “10th August”,
“name”: “xueyuan”,
“email”: “[email protected]
}

8、输出所有的keys

[root@localhost ~]#jq ‘.[]’ json.txt
[root@localhost ~]# cat json.test |jq ‘.keys’ 这个是键值为key的为空
null
[root@localhost ~]# cat json.test |jq ‘keys’
[
“age”,
“birthday”,
“email”,
“name”,
“skills”
]

9、判断是否存在某个键

[root@localhost ~]# cat json.test |jq ‘has(“name”)’
true
[root@localhost ~]# cat json.test |jq ‘has(“nname”)’
false

Guess you like

Origin blog.csdn.net/qq_46495338/article/details/120665289