免费注册 查看新帖 |

ChinaUnix.net

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

[文本处理] 输出指定行之间的数据 [复制链接]

论坛徽章:
0
发表于 2012-11-13 19:54 |显示全部楼层
本帖最后由 tianlijian 于 2012-11-13 19:54 编辑

例如下面文本
  1. BEGIN
  2. dasfda
  3. dsasfd
  4. adsa
  5. END
  6. 333333333333333
  7. 3333333333333333
  8. BEGIN
  9. dal;gjdlajfdla
  10. END
  11. dsafdsa
复制代码
如何取得"BEGIN"和"END"之间的文本?感谢

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
发表于 2012-11-13 20:10 |显示全部楼层
我先谢你,能把问题讲清楚吗?

这样:
dasfda
dsasfd
adsa
dal;gjdlajfdla

还是这样:
BEGIN
dasfda
dsasfd
adsa
END
333333333333333
3333333333333333
BEGIN
dal;gjdlajfdla
END

论坛徽章:
0
发表于 2012-11-13 20:15 |显示全部楼层
tianlijian 发表于 2012-11-13 19:54
例如下面文本如何取得"BEGIN"和"END"之间的文本?感谢


awk '$0=="BEGIN"{
    flag=1;
    next;
}
$0=="END"{
    flag=0;
    next;
}
flag==1{
    print;
}
' data

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-16 06:20:00
发表于 2012-11-13 20:51 |显示全部楼层
  1. [root@localhost Desktop]# cat temp
  2. BEGIN
  3. dasfda
  4. dsasfd
  5. adsa
  6. END
  7. 333333333333333
  8. 3333333333333333
  9. BEGIN
  10. dal;gjdlajfdla
  11. END
  12. dsafdsa
复制代码
  1. [root@localhost Desktop]# sed -n '/BEGIN/,/END/p' temp
  2. BEGIN
  3. dasfda
  4. dsasfd
  5. adsa
  6. END
  7. BEGIN
  8. dal;gjdlajfdla
  9. END
复制代码

论坛徽章:
0
发表于 2012-11-13 21:15 |显示全部楼层
回复 1# tianlijian
  1. sed -n '/BEGIN/,/END/{/BEGIN\|END/b;p}' file
复制代码

论坛徽章:
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
发表于 2012-11-14 09:14 |显示全部楼层
sed
  1. sed -n '/BEGIN/{:1;n;/END/b;p;b1}' file
复制代码
awk
  1. awk '/BEGIN/{a=1;next}/END/{a=0}a' file
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP