免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
发表于 2019-11-23 23:36 |显示全部楼层
例如
.....
..I love page 10 test test1 test 3  ff...
..I love page 10 test test1 test 3  ff...sdgggggggggggggsd
..I love page 1011 test test1 test 3  ff..gggggggg.
..I love page 10222 2test test1 test 3  ff...sdgggggggggggghhhhhhhhhhhgsd
........
每2行删除有page关键字较长的一行

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2019-11-24 13:35 |显示全部楼层
假如一行有page一行没有page呢?
假如两行都没有page呢?

论坛徽章:
0
发表于 2019-11-24 15:42 |显示全部楼层
回复 2# cjaizss

只针对有page关键字的

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 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
发表于 2019-11-25 09:27 |显示全部楼层
是每隔2行码?

论坛徽章:
0
发表于 2019-11-27 09:25 |显示全部楼层
回复 5# 1cpuer

只处理有page关键字的 每隔2行

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 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。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

ITPUB技术栈

ITPUB技术栈:http://z.itpub.net/
ITPUB技术栈是由ITPUB社区打造的垂直于IT领域的知识交流平台,在这里,你既可以是创作者也可以是消费者。如果你的IT生涯丰富多彩,喷薄的个人价值尽可在小栈内体现;如果你渴望找到志同道合的伙伴,拓宽人脉,小栈会是你最好的选择。





点击进入>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP