Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3031843
  • 博文数量: 272
  • 博客积分: 5544
  • 博客等级: 大校
  • 技术积分: 5496
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 00:48
个人简介

  每个人都要有一个骨灰级的爱好,不为金钱,而纯粹是为了在这个领域享受追寻真理的快乐。

文章分类

全部博文(272)

文章存档

2015年(2)

2014年(5)

2013年(25)

2012年(58)

2011年(182)

分类: LINUX

2011-05-30 11:54:15

  1. cat file
  2. <span class=a><span class=b>AAA<a href="">link</a></span>5678</span>
  3. <span class=a><span class=b>BBB<a href="">link</a></span>5678</span>
  4. <span class=a><span class=b>CCC<a href="">link</a></span>5678</span>

提取第一个之间的字符串

 

  1. sed -r 's/[^>]*>[^>]*b>([^>]*>[^>]*>).*/\1/' file
  2. AAA<a href="">link</a>
  3. BBB<a href="">link</a>
  4. CCC<a href="">link</a>

[解析]

  文本中有2个,这是在sed中最头疼的问题,因为它是贪婪匹配,如果有多个pattern的话,它肯定是匹配到最后一个,如果规避这个问题,只有把文本用正则逐个标记出来。

阅读(6441) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

keepstrive2016-04-11 20:57:02

多谢!