使用 jq 在 Linux 中实现数据批量处理的简易安装教程(jqlinux安装)

jq 是一款免费开源的、解析、生成、过滤 JSON 格式数据的简便工具。它也被称为“sed/awk 的 JSON 版本”,在各种 Linux 发行版本都可上用,有时需要使用它来进行数据批量处理,本文介绍它的安装及应用的简易教程。

### 一、安装

由于 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 死板的童鞋来说,绝对是一个不可多得的工具。

香港服务器首选树叶云,2H2G首月10元开通。
树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/177277.html<

(0)
运维的头像运维
上一篇2025-03-25 13:43
下一篇 2025-03-21 01:45

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注