免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2382 | 回复: 2

[文本处理] 用sed grep分组抽取字符串 [复制链接]

论坛徽章:
0
发表于 2017-05-09 13:45 |显示全部楼层
抽取字符串
background-image: url(/media/images/index/im2.jpg);
里面的图片地址
/media/images/index/im2.jpg

1.sed

echo "background-image: url(/media/images/index/im2.jpg);"|  sed  -n 's/^.\+url(\(.\+\)).\+$/\1/p'
/media/images/index/im2.jpg
结果有了,感觉有点累赘,需要改进。


2.grep
echo "background-image: url(/media/images/index/im2.jpg);"| grep  -Po  '/.+jpg'
/media/images/index/im2.jpg

抽取出来了,我不想通过这个方式。

echo "background-image: url(/media/images/index/im2.jpg);"| grep  -Po1  'url(.+)'
url(/media/images/index/im2.jpg);
echo "background-image: url(/media/images/index/im2.jpg);"| grep  -Po1  'url(\(.+\))'
url(/media/images/index/im2.jpg)

-Po的方式,如何恰好抽取  /media/images/index/im2.jpg  ,作为结果?

grep不能使用分组来处理?



论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-10-11 06:20:0015-16赛季CBA联赛之山东
日期:2016-05-28 18:18:5615-16赛季CBA联赛之新疆
日期:2017-04-12 22:55:4715-16赛季CBA联赛之青岛
日期:2017-06-26 18:30:0315-16赛季CBA联赛之四川
日期:2017-09-04 12:27:0315-16赛季CBA联赛之福建
日期:2018-02-09 14:28:3315-16赛季CBA联赛之同曦
日期:2018-04-17 12:43:3415-16赛季CBA联赛之浙江
日期:2018-07-14 13:27:4015-16赛季CBA联赛之吉林
日期:2018-09-13 15:48:2915-16赛季CBA联赛之新疆
日期:2016-05-07 05:05:3215-16赛季CBA联赛之八一
日期:2016-03-14 12:32:06程序设计版块每日发帖之星
日期:2015-12-12 06:20:00
发表于 2017-05-09 14:09 |显示全部楼层
echo 'background-image: url(/media/images/index/im2.jpg);' | grep -oP '(?<=url\()[^)]+'
/media/images/index/im2.jpg

评分

参与人数 1信誉积分 +5 收起 理由
yufeiluo + 5

查看全部评分

论坛徽章:
0
发表于 2017-05-09 14:41 |显示全部楼层
我用win测试通过的,   win,linux 通用的powershell代码:
  1. $a = 'background-image: url(/media/images/index/im2.jpg);'
  2. $a.Split('(')[1].split(')')[0]
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP