作者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/cn.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