1首先,源码包https://stedolan.github.io/jq/download/
找到Source tarball for jq 1.5下载下来
图中有写You can build it using the usual ./configure && make && sudo make install
先tar -zxvf 解压一下包,进入目录后,用红色字体的命令进行安装
这里我遇到一个问题是bison的版本过低导致jq不能正确安装,所以bison -V指令看一下版本,达不到要求,jq要求至少是3.0以上的版本所以去http://ftp.gnu.org/gnu/bison/
下载一个3.0以上的包,解压后进入解压的目录使用./configure && make && make install
这一指令的表达意思:
1、configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。
2、make,这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)
3、make insatll,这条命令来进行安装,一般需要 root 权限
jq的一个最大优点:格式化输出json文件:
json文件以普通方式打开都是没有缩进,没有空格的一团浆糊,格式化后可以非常清晰
例如:一个json文件叫manifest.json
1)可以使用类似 cat manifest.json | jq . 只是格式化查看一下
2)使用jq . manifest.json 直接文本格式化,但是内容以vim打开仍然是浆糊
2当然查找功能必不可少:
1) 内建函数:jq 'keys' manifest.json 查找文件中的关键字(最外层的),
cat manifest.json | jq 'has("name")'查找是否存在某个关键字name
2)根据key获得value值,jq '.key'
3)嵌套解析获得value,jq '.key1.key2'其中是外层关键字key1和内层关键字key24
4)数组型的关键字,jq '.key[i].name'其中i是可变的,name代表内层的关键字