作者asdrt (安静)
看板Linux
标题Fw: [问题] 新手请教
时间Thu Feb 9 13:39:35 2017
※ [本文转录自 Editor 看板 #1Od01Mhk ]
作者: asdrt (安静) 看板: Editor
标题: [问题] 新手请教
时间: Thu Feb 9 13:38:27 2017
目前有一批资料 撷取下来是
{"id":"1da58d7f-ac5f-4e3b-b5b0-65b36c0de68f","macAddr":"04000246","data":"4e32352e30343636333432","buff":"2016-10-20T04:49:49.420Z","recv":"2016-10-20T04:49:4
9.000Z","extra":{"gwip":"172.16.5.15","gwid":"00001c497b3b8127","repeater":"00000000ffffffff","systype":4,"rssi":-121.2$"snr":-13.2}}
这样为一 笔资料 但是我只想要里面的 macAdrr , data , gwip 这里面的资料
我的作法是资料抓下来後用 vim 让她换行成
{
"id":"1da58d7f-ac5f-4e3b-b5b0-65b36c0de68f",
"macAddr":"04000246",
"data":"4e32352e30343636333432",
"buff":"2016-10-20T04:49:49.420Z",
"recv":"2016-10-20T04:49:49.000Z",
"extra":{"gwip":"172.16.5.15",
"gwid":"00001c497b3b8127",
"repeater":"00000000ffffffff",
"systype":4,
"rssi":-121.2,
"snr":-13.2}
}
再利用 grep , sed 等方式方式取出成单一资料 再用 paste > 变成多行资料
想请问的是
1. 换行这个工作可否直接用 sed 来做或是其他的指令来完成
2. 我有一个步骤是要把 4e32352e30343636333432 用 decode的方式转回 text ,
目前也是土法炼钢把资料取出後
(因为我只会用 grep 所以不知道怎麽把 data 去掉 orz )
再用 echo 的方式来做转译 再丢回去我的文件组合成我要的 csv (,分隔档案)
抱歉 问题有点多
也请指点迷津
感谢
--
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 203.74.124.79
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Editor/M.1486618710.A.AEE.html
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: asdrt (203.74.124.79), 02/09/2017 13:39:35
1F:→ CP64: 为啥觉得找个 ruby/python 之类的语言 再找个 json parser 02/09 13:43
2F:→ CP64: 基本上要做的事情就做完了 02/09 13:43
3F:→ CP64: 然後插入换行用 sed 就能做了 sed 's/,/&\n/g' 02/09 13:45
4F:→ CP64: 上面是最简陋的 02/09 13:45
5F:→ Neisseria: 命令列可以用 jq 去解析档案,但不一定比脚本语言简单 02/09 13:56
6F:→ Neisseria: 自己实际使用、比较看看,之後就知道那种方法比较合适 02/09 13:57
7F:→ dennisxkimo: 这是JSON格式 找JSON Parser处理比较方便 02/09 14:24
8F:→ asdrt: 感谢以上指教,因为本身没有程式基础,对linux也是赶鸭子上 02/09 14:41
9F:→ asdrt: 架,所以只能慢慢摸索,再利用自己所认知的方式来解决 02/09 14:41
10F:→ asdrt: 这些部分都需要再多多改进的 感谢 02/09 14:42
11F:→ asdrt: 然後这些资料是放在ubuntu 10.04 上面 所以我用 apt-get 02/09 14:43
12F:→ asdrt: 无法安装jq 来实现.. 02/09 14:43
13F:→ Neisseria: jq 自己编译就好了,jq 只用到标准 C 的功能 02/09 14:54
14F:→ Neisseria: 但对新手来说,编译软体可能过於困难... 02/09 14:54
15F:→ Neisseria: 在 Linux 上有时还是要编译软体,学一下还蛮实用的 02/09 14:59
16F:推 hijkxyzuw: 可以装个 nodejs ,直接 eval 也行。 02/09 17:02
17F:推 kenduest: cat file.txt | python -m json.tool 格式化输出 02/09 17:38
18F:→ kenduest: 其实这类结构需求用 python 处理几行可完成 02/09 17:39
19F:→ kenduest: 刚刚测试一下 jq 非常好用,用语法不需要写程式很方便 02/10 18:04