當我們在linux下需要處理json資料時,第一反應是用指令碼編寫乙個工具,這樣即耗時又不通用. 本文將介紹專門的命令列json處理工具jq.
1、安裝:
1)ubuntu使用者可以直接使用下列命令安裝:
$ sudo apt-get install jq
2)採用原始碼安裝:
2、使用:
}, },
}, }]
}
1)解析json:
$ cat test.json | jq '.name'
"中國"
$ cat test.json | jq '.province[0].name'
"黑龍江"
$ cat test.json | jq '.province.name'
"黑龍江"
"廣東"
"台灣"
"新疆"
2)提取字段:
$ cat test.json | jq '.province[0]'
, "name": "黑龍江"
}$ cat test.json | jq '.province'
, "name": "黑龍江"},
"name": "廣東"},
"name": "台灣"},
"name": "新疆"
}$ cat test.json | jq '.province[0] | '
, "name": "黑龍江"
}$ cat test.json | jq '.province[0] | '
3)內建函式keys:
$ cat test.json | jq 'keys'
[ "name",
"province"
]$ cat test.json | jq '.|keys'
[ "name",
"province"
]$ cat test.json | jq '.province[0]|keys'
[ "cities",
"name"
]$ cat test.json | jq '.province|keys'
[ "cities",
"name"][
"cities",
"name"][
"cities",
"name"][
"cities",
"name"
]
4)內建函式has:
$ cat test.json | jq 'has("name")'
true
$ cat test.json | jq '.province[0] | has("name")'
true
$ cat test.json | jq 'has("noname")'
false
參考:
工作指令碼處理文字shell
簡單的使用shell,而且平時學習一下,如果不動手寫的話,真是完全沒有啥用啊,所以,還是寫出來的。把下邊的指令碼 貼出來。怕忘記了。涉及到資料庫連線,awk使用,日期函式,字串模糊匹配。plain view plain copy bin bash dir date date y m d d 1 da...
shell常用的指令碼處理命令
1 cut echo path cut d f 5 d 以 為分隔字元 f fields 選取第幾段 export cut c 12 13 c 字元範圍,即以字元為單位在每一行中切出一部分 2 grep grep acinv color auto 查詢字串 filename c 計算查詢 字串 的個...
shell指令碼處理字串常用方法
一 構造字串 直接構造 str zero hello str first i am a string str second success 重複多次 repeat the first parm 1 by 2 times strrepeat 舉例 str repeat strrepeat user n...