新聞中心
JQ 是一款免費(fèi)開源的、解析、生成、過(guò)濾 JSON 格式數(shù)據(jù)的簡(jiǎn)便工具。它也被稱為“sed/awk 的 JSON 版本”,在各種 linux 發(fā)行版本都可上用,有時(shí)需要使用它來(lái)進(jìn)行數(shù)據(jù)批量處理,本文介紹它的安裝及應(yīng)用的簡(jiǎn)易教程。

創(chuàng)新互聯(lián)主營(yíng)承留網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App制作,承留h5微信小程序搭建,承留網(wǎng)站營(yíng)銷推廣歡迎承留等地區(qū)企業(yè)咨詢
### 一、安裝
由于 jq 是由 C 語(yǔ)言驅(qū)動(dòng)的,建議直接使用發(fā)行版包來(lái)安裝,以 CentOS 7 舉例:
“`shell
yum -y install epel-release
yum -y install jq
檢查安裝是否成功:
```shell
# 查看 jq 版本
jq --version
jq-1.6
### 二、應(yīng)用
#### 2.1 將JSON格式數(shù)據(jù)提取成表格格式
示例:
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"
}
]
執(zhí)行:
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 模式的記錄以表格格式輸出,并用空格做為數(shù)據(jù)分隔符。
#### 2.2 格式化輸出
通過(guò)使用 `–compact-output` 參數(shù)我們還可以對(duì)輸出結(jié)果進(jìn)行整理,使它更容易查看:
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 過(guò)濾特定值
通過(guò)使用 `.[]|select(.type == “A”)` 過(guò)濾條件來(lái)選擇記錄類型,等價(jià)于 SQL 中的 WHERE 語(yǔ)句:
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"
}
]
### 結(jié)語(yǔ)
本文介紹了使用 jq 在 Linux 中實(shí)現(xiàn)數(shù)據(jù)批量處理的簡(jiǎn)易安裝教程,jq 的安裝使用相對(duì)非常簡(jiǎn)單,有時(shí)可以替代眾多的腳本處理,對(duì)于對(duì) Linux 死板的童鞋來(lái)說(shuō),絕對(duì)是一個(gè)不可多得的工具。
創(chuàng)新互聯(lián)-老牌IDC、云計(jì)算及IT信息化服務(wù)領(lǐng)域的服務(wù)供應(yīng)商,業(yè)務(wù)涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務(wù)、云計(jì)算服務(wù)、IT信息化、AI算力租賃平臺(tái)(智算云),軟件開發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220
當(dāng)前題目:使用jq在Linux中實(shí)現(xiàn)數(shù)據(jù)批量處理的簡(jiǎn)易安裝教程(jqlinux安裝)
文章URL:http://www.dlmjj.cn/article/dhjcdcs.html


咨詢
建站咨詢
