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

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

文章分类

全部博文(272)

文章存档

2015年(2)

2014年(5)

2013年(25)

2012年(58)

2011年(182)

分类: LINUX

2011-09-11 23:31:33

文本:
1
2
3
4
5
6
7
8
9

获取3和7之间的内容:
4
5
6


  1. awk '/3/,/7/{if(i>1)print x;x=$0;i++}' file
  2. 4
  3. 5
  4. 6
[解析]
    获取2个关键字之间的内容大家都会想到正则匹配的 /i/,/j/ 这样的语句,但是这会把包含3和7的行都打印出来,我们的问题是截取它们之间的内容,那肯定还需要进行处理,这个是斩头去尾的思路。


  1. seq 9 |sed -n '/3/,/7/{/3/n;/7/b;p}'
  2. 4
  3. 5
  4. 6
[解析]
    同样,该正则表达式一样可以用于sed,那么我们一样面临刚才提到的问题,这个处理手法非常巧妙。谢谢SS老师。

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