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