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

創(chuàng)新互聯(lián)主營承留網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App制作,承留h5微信小程序搭建,承留網(wǎng)站營銷推廣歡迎承留等地區(qū)企業(yè)咨詢
### 一、安裝
由于 jq 是由 C 語言驅(qū)動的,建議直接使用發(fā)行版包來安裝,以 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 格式化輸出
通過使用 `–compact-output` 參數(shù)我們還可以對輸出結(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 過濾特定值
通過使用 `.[]|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"
}
]
### 結(jié)語
本文介紹了使用 jq 在 Linux 中實(shí)現(xiàn)數(shù)據(jù)批量處理的簡易安裝教程,jq 的安裝使用相對非常簡單,有時可以替代眾多的腳本處理,對于對 Linux 死板的童鞋來說,絕對是一個不可多得的工具。
創(chuàng)新互聯(lián)-老牌IDC、云計算及IT信息化服務(wù)領(lǐng)域的服務(wù)供應(yīng)商,業(yè)務(wù)涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務(wù)、云計算服務(wù)、IT信息化、AI算力租賃平臺(智算云),軟件開發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220
本文題目:使用jq在Linux中實(shí)現(xiàn)數(shù)據(jù)批量處理的簡易安裝教程(jqlinux安裝)
本文地址:http://fisionsoft.com.cn/article/dhjcdcs.html


咨詢
建站咨詢
