JQ 是一款免费开源的、解析、生成、过滤 JSON 格式数据的简便工具。它也被称为“sed/awk 的 JSON 版本”,在各种 linux 发行版本都可上用,有时需要使用它来进行数据批量处理,本文介绍它的安装及应用的简易教程。
创新互联主营承留网站建设的网络公司,主营网站建设方案,成都App制作,承留h5微信小程序搭建,承留网站营销推广欢迎承留等地区企业咨询
### 一、安装
由于 jq 是由 C 语言驱动的,建议直接使用发行版包来安装,以 CentOS 7 举例:
“`shell
yum -y install epel-release
yum -y install jq
检查安装是否成功:
```shell
# 查看 jq 版本
jq --version
jq-1.6
### 二、应用
#### 2.1 将JSON格式数据提取成表格格式
示例:
cat dns.json
[
{
"name": "dev",
"type": "A",
"value": "10.0.0.1"
},
{
"name": "dev",
"type": "NS",
"value": "ns.domain.com"
},
{
"name": "www",
"type": "A",
"value": "10.0.0.2"
}
]
执行:
cat dns.json|jq --raw-output '.[]|[.name,.type,.value]|@tsv'
dev A 10.0.0.1
dev NS ns.domain.com
www A 10.0.0.2
该命令将 JSON 模式的记录以表格格式输出,并用空格做为数据分隔符。
#### 2.2 格式化输出
通过使用 `–compact-output` 参数我们还可以对输出结果进行整理,使它更容易查看:
cat dns.json|jq --compact-output '.'
[
{
"name": "dev",
"type": "A",
"value": "10.0.0.1"
},
{
"name": "dev",
"type": "NS",
"value": "ns.domain.com"
},
{
"name": "www",
"type": "A",
"value": "10.0.0.2"
}
]
#### 2.3 过滤特定值
通过使用 `.[]|select(.type == “A”)` 过滤条件来选择记录类型,等价于 SQL 中的 WHERE 语句:
cat dns.json|jq --compact-output '.[]|select(.type == "A")
[
{
"name": "dev",
"type": "A",
"value": "10.0.0.1"
},
{
"name": "www",
"type": "A",
"value": "10.0.0.2"
}
]
### 结语
本文介绍了使用 jq 在 Linux 中实现数据批量处理的简易安装教程,jq 的安装使用相对非常简单,有时可以替代众多的脚本处理,对于对 Linux 死板的童鞋来说,绝对是一个不可多得的工具。
创新互联-老牌IDC、云计算及IT信息化服务领域的服务供应商,业务涵盖IDC(互联网数据中心)服务、云计算服务、IT信息化、AI算力租赁平台(智算云),软件开发,网站建设,咨询热线:028-86922220
当前名称:使用jq在Linux中实现数据批量处理的简易安装教程(jqlinux安装)
文章网址:http://www.36103.cn/qtweb/news21/17871.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联