成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux運(yùn)維之json文件操作

系統(tǒng) Linux 運(yùn)維
python腳本中讀取配置文件通常將配置文件放在json格式的文件中,然后做后續(xù)的處理,那么在linux服務(wù)器上編輯和讀取json文件有什么技巧呢?來看一下吧,

Json數(shù)據(jù)格式化

json是一種輕量級(jí)的數(shù)據(jù)交換格式,應(yīng)用范圍非常廣泛。在Linux系統(tǒng)下使用jq工具可以非常方便的處理json

[root@knode1 ~]# cat k8s.conf
{"hosts": {"host_list": [ {"hostname": "host1", "ip": "10.1.251.1", "username": "aps", "password": "tingsoft", "ssh_port": 22}, {"hostname": "host24", "ip": "10.1.251.2", "username": "aps", ssword": "tingsoft", "ssh_port": 22} ], "sshkey_enable": false, "data_dir": "/opt", "src":"/etc/localtime", "dest": "/etc/timezone", "port": "8080" } }

在linux上安裝jq工具

[root@knode1 ~]# yum -y install jq

將上面k8s.conf文件用json格式展示,提高可讀性

  • 方法一:cat filename.conf | jq
[root@knode1 ~]# cat k8s.conf | jq
{
"hosts": {
"host_list": [
{
"hostname": "host1",
"ip": "10.1.251.1",
"username": "aps",
"password": "tingsoft",
"ssh_port": 22
},
{
"hostname": "host24",
"ip": "10.1.251.2",
"username": "aps",
"password": "tingsoft",
"ssh_port": 22
}
],
"sshkey_enable": false,
"data_dir": "/opt",
"src": "/etc/localtime",
"dest": "/etc/timezone",
"port": "8080"
}
}

jq工具會(huì)把json文件更有好的讀取出來,此外,jq工具還在背后檢查json文件的合法性,如果文件存在格式上的錯(cuò)誤,jq也會(huì)報(bào)出錯(cuò)誤存在的位置

  • 方法二:cat filename.conf |  python -m json.tool

python -m json.tool這種方法需要服務(wù)器上安裝python,效果和jq一樣,也會(huì)校驗(yàn)數(shù)據(jù)合法性,出現(xiàn)格式報(bào)錯(cuò)會(huì)報(bào)出位置

[root@knode1 ~]# cat k8s.conf |  python -m json.tool
Expecting object: line 1 column 343 (char 342)

Json數(shù)據(jù)讀取

  • 通過Key獲取Value的值
[root@knode1 ~]# cat k8s.conf | jq .hosts
{
"host_list": [
{
"hostname": "host1",
"ip": "10.1.251.1",
"username": "aps",
"password": "tingsoft",
"ssh_port": 22
},
{
"hostname": "host24",
"ip": "10.1.251.2",
"username": "aps",
"password": "tingsoft",
"ssh_port": 22
}
],
"sshkey_enable": false,
"data_dir": "/opt",
"src": "/etc/localtime",
"dest": "/etc/timezone",
"port": "8080"
}
[root@knode1 ~]# cat k8s.conf | jq .hosts.host_list
[
{
"hostname": "host1",
"ip": "10.1.251.1",
"username": "aps",
"password": "tingsoft",
"ssh_port": 22
},
{
"hostname": "host24",
"ip": "10.1.251.2",
"username": "aps",
"password": "kingsoft",
"ssh_port": 22
}
]

解析不存在的元素key時(shí),會(huì)返回null,.hosts.host_list這種屬于嵌套解

  • 自定義輸出數(shù)組

對(duì)于上面jq .hosts.host_list獲取的結(jié)果,還可以通過【】數(shù)組形式獲取

[root@knode1 ~]# cat k8s.conf | jq .hosts.host_list[0]
{
"hostname": "host1",
"ip": "10.1.251.1",
"username": "ups",
"password": "tingsoft",
"ssh_port": 22
}

掌握了上面這些基本的數(shù)據(jù)處理方法,我們就可以在linux和python腳本中做一些配置的基礎(chǔ)處理了。

責(zé)任編輯:龐桂玉 來源: 運(yùn)維之美
相關(guān)推薦

2011-11-14 09:17:14

Linux運(yùn)維ClusterShel

2019-03-15 10:13:10

運(yùn)維云計(jì)算運(yùn)營(yíng)

2018-07-23 09:24:08

Linux系統(tǒng)運(yùn)維運(yùn)維工程師

2014-08-04 10:10:35

IT運(yùn)維自動(dòng)化運(yùn)維

2017-12-04 11:19:01

Linux運(yùn)維同步網(wǎng)絡(luò)時(shí)間

2019-03-19 08:41:38

Linux運(yùn)維變更

2014-09-17 10:34:47

2017-03-22 16:31:30

Linux運(yùn)維自動(dòng)化ansible

2017-03-22 18:30:44

Linux運(yùn)維自動(dòng)化ansible

2014-09-17 11:16:42

2011-06-14 09:12:12

管理員文件

2016-06-20 13:15:59

2021-08-07 07:53:40

Linux MySQLLinux 系統(tǒng)

2019-09-03 10:14:02

Linux技術(shù)DevOps

2011-05-23 10:23:49

2024-05-28 07:01:29

2011-05-20 09:29:32

運(yùn)維工作

2012-02-15 14:49:45

2016-12-13 13:15:49

運(yùn)維

2009-12-27 19:06:18

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美视频网 | 日韩三级免费网站 | 在线视频成人 | 欧美成年人 | 天堂一区二区三区 | 亚洲精品456| 国产视频一区二区三区四区五区 | 久久一区二区三区四区五区 | 久久九九99 | 成人天堂噜噜噜 | 国产精品一区三区 | 日本一区不卡 | 超碰人人在线 | 亚洲国产成人av | 视频一区二区在线 | 91夜色在线观看 | 波多野吉衣久久 | 亚洲一区二区三区欧美 | 毛片区| 国产精品免费一区二区 | 武道仙尊动漫在线观看 | 久久www免费视频 | 日韩高清中文字幕 | 精品亚洲一区二区 | 日本一级淫片免费啪啪3 | 精品久久久久久久久久 | 中文字幕在线一区二区三区 | 午夜电影在线播放 | 日韩中文字幕在线视频 | 成人深夜小视频 | 国产黄色精品 | 久久亚洲免费 | www.日韩欧美 | 伊人网伊人 | 日本成年免费网站 | 91精品国产一区二区三区 | 精品久久久久久久久久久久 | 中文字幕 在线观看 | 国产精品免费看 | www.蜜桃av | 久久综合一区二区 |