作者freeself (free)
看板RegExp
標題[問題] 抓引號中間的值要怎麼 parse ?
時間Wed Aug 27 15:40:56 2014
假設如果有一個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://webptt.com/m.aspx?n=bbs/RegExp/M.1409125258.A.826.html
1F:→ 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
2F:推 DeathWatch: ".*":\s"(.+)" 配到之後取$1 08/27 21:57
4F:→ filiaslayers: regex就是看你的pattern來決定要怎麼設計,如果跟 09/01 05:39
5F:→ filiaslayers: Name1234無關,那你在問題就要先說清楚 09/01 05:39
6F:→ filiaslayers: 不過我給的其實也打錯了就是orz 09/01 05:40
7F:→ bamchisu: 土法煉鋼: 假設文件名為test .... 12/19 16:11
8F:→ bamchisu: awk -F":" '{ print $2 }' test | sed 's/",//g' | 12/19 16:11
9F:→ bamchisu: grep -v "^$" | sed 's/\ //g' 12/19 16:12