免费注册 查看新帖 |

Chinaunix

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

[文本处理] sed 每2行删除有匹配关键字最长的一行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2019-11-23 23:36 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2019-11-24 13:35 |只看该作者
假如一行有page一行没有page呢?
假如两行都没有page呢?

论坛徽章:
0
3 [报告]
发表于 2019-11-24 15:42 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
4 [报告]
发表于 2019-11-24 18:01 |只看该作者
本帖最后由 cjaizss 于 2019-11-24 18:05 编辑
ma3501406 发表于 2019-11-24 15:42
回复 2# cjaizss 只针对有page关键字的
  1. test 1
  2. test 2
  3. page 99
  4. test 3
  5. page 100
复制代码

输出什么?





论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
5 [报告]
发表于 2019-11-25 09:27 |只看该作者
是每隔2行码?

论坛徽章:
0
6 [报告]
发表于 2019-11-27 09:25 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
7 [报告]
发表于 2019-11-27 13:19 |只看该作者
本帖最后由 cjaizss 于 2019-11-27 13:21 编辑

回复 6# ma3501406

尽管你并没有回复我最后我的问题,但按我的猜测,我的这个问题应该返回page 100

  1. sed -nr '
  2. /page/ {
  3. h
  4. ba
  5. }
  6. d
  7. :a
  8. n
  9. /page/ {
  10. G
  11. h
  12. bb
  13. }
  14. ba

  15. :b
  16. s/.\n./\n/
  17. tb
  18. /^\n/{
  19. g
  20. s/.*\n//p
  21. d
  22. }
  23. g
  24. s/\n.*//p
  25. '

复制代码

有一个问题,如果带有page的行是奇数行,最后一行我是不答应的,虽然可以改动一下让它打印,但是相对比较麻烦,所以没有加。
另外,比较长短问题不是sed所专长,所以虽然sed可以实现语义,但属于搞怪的范畴,效率比较低,还是推荐使用别的,比如awk。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP