看板 RegExp 關於我們 聯絡資訊
假設如果有一個JSON格式輸出如下,想要parse結果 取Name1後面的value,結果Momo 應該怎麼做比較好? 用shell script { "Name1": "Momo", "Name2": "Test", "Name3": "Angel", "Name4": "Peter", "Name5": "John" } 有嘗試過 \w+(") 或 awk -F":" '{ print $2 }' 但是不知道下一步該怎麼做 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.129.153.179 ※ 文章網址: http://www.ptt.cc/bbs/RegExp/M.1409125258.A.826.html
filiaslayers: sed s/"Name[0-9]": "\1",/\1/p 這樣? 08/27 15:58
root@pc ~ $ cat reg.txt| sed s/"Name[0-9]": "\1",/\1/p sed: -e expression #1, char 12: unterminated `s' command 跟Name 1234 無關,那個只是隨便舉例XD 總之就是要抓某個特定名稱後面的value ※ 編輯: freeself (220.129.153.179), 08/27/2014 17:31:56
DeathWatch: ".*":\s"(.+)" 配到之後取$1 08/27 21:57
up9cloud: 若是json建議你用parser http://stedolan.github.io/jq/ 08/29 15:52
filiaslayers: regex就是看你的pattern來決定要怎麼設計,如果跟 09/01 05:39
filiaslayers: Name1234無關,那你在問題就要先說清楚 09/01 05:39
filiaslayers: 不過我給的其實也打錯了就是orz 09/01 05:40
bamchisu: 土法煉鋼: 假設文件名為test .... 12/19 16:11
bamchisu: awk -F":" '{ print $2 }' test | sed 's/",//g' | 12/19 16:11
bamchisu: grep -v "^$" | sed 's/\ //g' 12/19 16:12