Linux下Json格式化神器jq

來源:本站原創 IT小技巧 超過143 views圍觀 0條評論

SON是前端編程經常用到的格式,對于PHP或者Python,解析JSON都不是什么大事,尤其是PHP的json_encode和json_decode非常好用。然后Linux下也有這樣的神器就是jq命令,對于運維平常處理json格式的文件有很大幫助!

對于JSON格式而言,jq就像sed/awk/grep這些神器一樣的方便,而且jq沒有亂七八糟的依賴,只需要一個binary文件jq,就足矣。

一、安裝

Centos:

yum -y install jq
Ubuntu:

apt-get update
apt-get -y install jq

 

 

https://stedolan.github.io/jq/manual/

yum -y install jq

使用方式,直接輸出格式化后的數據

cat /tmp/speed2.txt |jq
{
  "url": "http://baidu.com",
  "host": "baidu.com",
  "srcip": "",
  "tid": "201906_7ade73027159af0c3b39fa211525610e",
  "pre": "201906",
  "type": 1,
  "taskstatus": "2",
  "teststatus": 1,
  "message": "",
  "num": 1,
  "num2": "22",
  "xmlfile": "",
  "check_time": "",
  "freshdata": {
    "\"148349\"": {
      "linkname": "",
      "link": "",
      "name": "K2P-P99",
      "areaname": "海南海口市聯通",
      "ip": "111.29.89.202",
      "dns": "127.0.0.1",
      "isp": "聯通",
      "view": "海南",
      "sid": "148349",
      "SrcIP": {
        "srcip": "220.181.38.148",
        "ipfrom": "中國北京電信"
      },
      "IP": "111.29.89.202",
      "HttpCode": "200",
      "TotalTime": "0.344s",
      "NsLookup": "0.009s",
      "ConnectTime": "0.043s",
      "downtime": "0.185s",
      "FileSize": "38.63KB",
      "realsize": "38.63KB",
      "speed": "208.806KB/s",

2.直接取keys
[[email protected] frontendm]# cat /tmp/speed2.txt |jq keys
[
  "accuracy_backdata",
  "ajax_over",
  "average_data",
  "backdata",
  "check_time",
  "freshdata",
  "host",
  "message",
  "num",
  "num2",
  "port",
  "pre",
  "speed_backdata",
  "srcip",
  "taskstatus",
  "teststatus",
  "tid",
  "time_backdata",
  "type",
  "url",
  "xmlfile"
]

3.取key 對應的值
[[email protected] frontendm]# cat /tmp/speed2.txt |jq .url
"http://baidu.com"

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=4155轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
  • 相關文章
  • 為您推薦
  • 各種觀點
?
暫時還木有人評論,坐等沙發!
發表評論

您必須 [ 登錄 ] 才能發表留言!

?
?
萌宠夺宝游戏