[问题] 抓引号中间的值要怎么 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