[問題] 抓引號中間的值要怎麼 parse ?

作者: freeself (free)   2014-08-27 15:40:56
假設如果有一個JSON格式輸出如下,想要parse結果 取Name1後面的value,結果Momo
應該怎麼做比較好? 用shell script
{
"Name1": "Momo",
"Name2": "Test",
"Name3": "Angel",
"Name4": "Peter",
"Name5": "John"
}
有嘗試過 \w+(") 或 awk -F":" '{ print $2 }'
但是不知道下一步該怎麼做
作者: filiaslayers (司馬雲)   2014-08-27 15:58:00
sed s/"Name[0-9]": "\1",/\1/p 這樣?
作者: DeathWatch (愛情模糊理論)   2014-08-27 21:57:00
".*":\s"(.+)" 配到之後取$1
作者: up9cloud (九天)   2014-08-29 15:52:00
若是json建議你用parser http://stedolan.github.io/jq/
作者: filiaslayers (司馬雲)   2014-09-01 05:39:00
regex就是看你的pattern來決定要怎麼設計,如果跟Name1234無關,那你在問題就要先說清楚不過我給的其實也打錯了就是orz
作者: bamchisu (suchi)   2014-12-19 16:11:00
土法煉鋼: 假設文件名為test ....awk -F":" '{ print $2 }' test | sed 's/",//g' |grep -v "^$" | sed 's/\ //g'

Links booklink

Contact Us: admin [ a t ] ucptt.com