Re: [vim ] 抓取固定符号内资料并删除固定开头资料

楼主: hhs66317 (六子)   2014-06-04 07:45:25
※ 引述《asdrt (安静)》之铭言:
: example :
: {
: description : "",
: id : "123239293019203dksodsdajsd",
: aaa : true,
: bbb : true,
: ccc : false,
: ddd : true,
: label : "彰化市",
: lookAt : "none"
: }
: ,
: {
: description : "",
: id : "0d5e20ea-d6be-11e3-b258-835bdbdbe6c8",
: aaa : false,
: bbb : true,
: ccc : true,
: ddd : false,
: label : "新化市",
: lookAt : {
: altitude : 3941.32,
: lat : 24.06294152443659,
: lng : 120.5843182509465,
: zoom : 14
: }
: }
: ,
: 以下重复 loop ..
: 有的有 lookat 后面那些资讯 有些没有 ~
: 我想抓取 {} 里面的资讯
: 但是只想要抓取 id & lable 这两行
: 变成像是 excel
: id lable
: 123123123112 彰化市
: 123123990123 某某某
: ..
: .
: 等
: 这样有可能可以做到吗?
: 因为不是固定的行距范围内抓取 所以有点困扰
: 还是说可以用其他编辑软件像是notepad++ or Ultraeditor ?
: 感谢帮忙
这种需求,我用VIM可以按以下操作达到目的。。
第一步:
:g/^id/norm j4ddkJ
第二步:
:g!/^id/d
第三步:
:%s/^id : "\([^"]\+\)",label : "\([^"]\+\)",/\1 \2/g
OK,进行到这里,主体工作已经完成,在文件首行插入表头。。
ggOid lable
最后用vim的文字对齐类插件,对齐下就OK了
BTW,第三步可以修改为:
:%s/^id : "\([^"]\+\)",label : "\([^"]\+\)",/"\1","\2"/g
这样的话,将文件存储为csv文件就可以在excel中直接查看了。。
作者: noggi (阿部)   2014-07-04 04:28:00
感觉很厉害…都看不懂…Orz...

Links booklink

Contact Us: admin [ a t ] ucptt.com