免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2654 | 回复: 10
打印 上一主题 下一主题

[文本处理] 请教大神,如何抓取特定字符串 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-27 15:34 |只看该作者 |倒序浏览
搞了半天,没搞定,之前都能在论坛找到答案,这次还得请教大神,重新注册发帖,传说中的目的性很强。
文本如下:
{"name"xx,"goods":[{"addr":1234,"city":"省略好多不规则字符"},{"addr":4321,"city":"省略好多不规则字符"},{"addr":66661234,"city":"省略好多不规则字符"},{},{}...]

如何打印出"addr"后面的数字:1234 4321 66661234,,,,
这是一个不固定长度的一行长字符串,[]括号之间有多个{}括号,一句话就是有多个不固定个数的"addr",目的就是打印出"addr":后面的数字,每个{}括号里面的结构都一样。
不胜感激,在线等。

论坛徽章:
0
2 [报告]
发表于 2013-04-27 15:37 |只看该作者
如果能直接输出1234-4321-66661234-就最好了。不能也没事,后面好处理。

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
3 [报告]
发表于 2013-04-27 15:46 |只看该作者
@helpkiller
  1. grep -oP '(?<="addr":)[0-9]*' file | sed ':a;$!{N;ba};s/\n/-/g'
复制代码

论坛徽章:
0
4 [报告]
发表于 2013-04-27 15:52 |只看该作者
本帖最后由 ljwd1000 于 2013-04-27 15:53 编辑
  1. awk -F'[{,:]' '{for(i=1;i<=NF;i++){if($i~/addr/){x=x$(i+1)"-"}}print x}'
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
5 [报告]
发表于 2013-04-27 16:02 |只看该作者
本帖最后由 yestreenstars 于 2013-04-27 16:32 编辑
  1. grep -oP '(?<="addr":)\d+' i | xargs
复制代码
  1. sed -r ':1;s/\"addr\":([0-9]+)(.*)/\2\n\1/;t1;s/^[^\n]*\n//;s/\n/-/g'
复制代码
  1. awk -F '"addr":' '{for(i=2;i<=NF;i++){t=gensub(/^([0-9]*).*/,"\\1",1,$i);s=s!=""?s"-"t:t}}END{print s}'
复制代码
  1. awk -F, -vRS='"addr":' 'NR>1{s=s!=""?s"-"$1:$1}END{print s}'
复制代码

论坛徽章:
0
6 [报告]
发表于 2013-04-27 16:09 |只看该作者
回复 3# cao627


    非常感激,解决了我的问题。

论坛徽章:
0
7 [报告]
发表于 2013-04-27 16:18 |只看该作者
大神们非常热心,都能解决问题,非常感谢。学习了思路。

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
8 [报告]
发表于 2013-04-27 16:29 |只看该作者
速度真快啊,来迟了。

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
9 [报告]
发表于 2013-04-27 16:33 |只看该作者
回复 8# seesea2517


    你可以来个shell的~

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
10 [报告]
发表于 2013-04-27 16:42 |只看该作者
回复 9# yestreenstars


    啊,不要了,不好玩
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP