redhat linux下安装jq和jq的简单应用

1首先,源码包https://stedolan.github.io/jq/download/

找到Source tarball for jq 1.5下载下来

redhat linux下安装jq和jq的简单应用_第1张图片

图中有写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 . 只是格式化查看一下

redhat linux下安装jq和jq的简单应用_第2张图片

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代表内层的关键字

 

你可能感兴趣的:(linux)