亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 16647 | 回復(fù): 19
打印 上一主題 下一主題

[文本處理] 如何通過shell取得下面JSON里的數(shù)據(jù) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2017-04-14 08:26 |只看該作者 |倒序?yàn)g覽

JSON文件內(nèi)容如下:
[
  {
    "target": "test",
    "datapoints": [
      [
        150662802.886176,
        1491871680
      ],
      [
        148571954.715462,
        1491871740
      ],
      [
        151503913.757496,
        1491871800
      ]
    ]
  }
]



如何通過shell取得里面的值分別寫到一個(gè)數(shù)組里?
就是所有后面帶小數(shù)點(diǎn)的乘8取出來放到一個(gè)數(shù)組里,不帶小數(shù)點(diǎn)的乘1000放到另外一個(gè)數(shù)組里

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [報(bào)告]
發(fā)表于 2017-04-14 09:24 |只看該作者
回復(fù) 1# icefishxmg

$ a=(`awk 'BEGIN{split("8 1000",m)}/\[/{c=0}/^ *[0-9.]+/{$1*=m[++c];if(c==1)printf("%f\n",$1)}' a.json`)

$ echo ${a[@]}
1205302423.089408 1188575637.723696 1212031310.059968

$ b=(`awk 'BEGIN{split("8 1000",m)}/\[/{c=0}/^ *[0-9.]+/{$1*=m[++c];if(c==2)printf("%d\n",$1)}' a.json`)

$ echo ${b[@]}
1491871680000 1491871740000 1491871800000

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2017-04-14 09:40 |只看該作者
回復(fù) 2# jason680

如果我的數(shù)組數(shù)量特別多,怎么能遍歷所有的然后分別入組呢?

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
4 [報(bào)告]
發(fā)表于 2017-04-14 09:44 |只看該作者
回復(fù) 3# icefishxmg

栗子?

what do you want? or example ...

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2017-04-14 09:53 |只看該作者
回復(fù) 4# jason680

知道怎么弄了,謝謝您了!

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2017-04-14 10:03 |只看該作者
本帖最后由 icefishxmg 于 2017-04-14 10:10 編輯

回復(fù) 4# jason680

兄弟,如果我的這個(gè)JSON數(shù)據(jù)有上千行,我想去最后300組數(shù)據(jù)怎么做?我的原始數(shù)組是平行數(shù)組,我得用JQ命令給整理格式,怎么寫到您這個(gè)代碼里面呢?整理格式的代碼是  cat test.json | jq .
還有我整理了下您的代碼,因?yàn)槲颐總(gè)數(shù)的中間要加逗號(hào),所以您的代碼我給改成這樣:
a=(`awk 'BEGIN{split("8 1000",m)}/\[/{c=0}/^ *[0-9.]+/{$1*=m[++c];if(c==1)printf("%f,\n",$1)}' a.json`)
但是有個(gè)問題,生成的數(shù)組最后一個(gè)后面也有逗號(hào),最后一個(gè)怎么能讓他沒有逗號(hào)呢?

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
7 [報(bào)告]
發(fā)表于 2017-04-14 10:26 |只看該作者
回復(fù) 6# icefishxmg

please give the information as below:
1. input data
2. procedure/process
3. output data

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2017-04-14 12:55 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2017-04-14 13:50 |只看該作者
回復(fù) 7# jason680

數(shù)據(jù):[{"target": "tx", "datapoints": [[109005337.0656, 1491954360], [101993738.536408, 1491954420], [102060412.252589, 1491954480], [101379713.736238, 1491954540]]}, {"target": "rx", "datapoints": [[378849290.100856, 1491959700], [383391367.51079, 1491959760], [381350186.271844, 1491959820], [374395372.257555, 1491959880]]}

最終整理成的樣子是要從后往前比如最后3組數(shù)據(jù)


{
    "constr": "Chart",
    "options": {"xAxis":{"type":"datetime"},"series":[{"data":[[數(shù)組里后面的數(shù)*1000,前面的數(shù)*8],[數(shù)組里后面的數(shù)*1000,前面的數(shù)*8],"type":"line"},{"data":[數(shù)組里后面的數(shù)*1000,前面的數(shù)*8],[數(shù)組里后面的數(shù)*1000,前面的數(shù)*8],"type":"line"}]}
}


前面的data里是target為tx的,后面的data里是target為rx的

論壇徽章:
145
技術(shù)圖書徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11獅子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龍
日期:2014-01-08 15:26:12技術(shù)圖書徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
10 [報(bào)告]
發(fā)表于 2017-04-14 18:38 |只看該作者
本帖最后由 jason680 于 2017-04-14 18:49 編輯

回復(fù) 9# icefishxmg

$ cat a.json
[{"target": "tx", "datapoints": [[109005337.0656, 1491954360], [101993738.536408, 1491954420], [102060412.252589, 1491954480], [101379713.736238, 1491954540]]}, {"target": "rx", "datapoints": [[378849290.100856, 1491959700], [383391367.51079, 1491959760], [381350186.271844, 1491959820], [374395372.257555, 1491959880]]}]

$ jq '.[] | {data: .datapoints}' a.json | awk -vlast=2 'BEGIN{printf("{\n%4s\"constr\": \"Chart\",\n%4s\"options\": {\"xAxis\":{\"type\":\"datetime\"},\"series\":[",x,x)}/"data":/{++d;b=c=1;sd=$1}/^ +[0-9.,]+$/{a[d,b%last,c]=$1;++c}/^ +[0-9.]+$/{++b;c=1}END{for(nd=1;nd<=d;++nd){s=s ndc "{" sd "[";ndc=", ";nbc="";for(nb=0;nb<last;++nb){k=(nb+b)%last;s=s nbc sprintf("[%d, %f]",a[nd,k,2]*1000,a[nd,k,1]*8);nbc=", "}s=s "], \"type\":\"line\"}"}print s "]}\n}"}'
{
    "constr": "Chart",
    "options": {"xAxis":{"type":"datetime"},"series":[
{"data":[[1491954480000, 816483298.020712], [1491954540000, 811037709.889904]], "type":"line"}, {"data":[[1491959820000, 3050801490.174752], [1491959880000, 2995162978.060440]], "type":"line"}]}
}

評(píng)分

參與人數(shù) 1信譽(yù)積分 +50 收起 理由
icefishxmg + 50 很給力!

查看全部評(píng)分

您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP