免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: kiss8212180
打印 上一主题 下一主题

[文本处理] sed求教 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2013-01-13 19:45 |只看该作者
回复 18# dahaoshanhe
  1. awk '{a[NR]=$0;}/aaaaa|222222/{i++;b[i]=NR;c[i]=a[NR]}END{for(i=1;i<=NR;i++){if(c[i]=="2222222222")a[b[i-1]]="GGGGGGGGGG"; print a[i]}}' file
复制代码
多谢指出,现在应该可以了!

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
22 [报告]
发表于 2013-01-13 22:32 |只看该作者
本帖最后由 cao627 于 2013-01-13 22:34 编辑

回复 7# yinyuemi
sed -e '/aaaaaaaaaa/{:a;N;/\naaaaaaaaaa/{h;s///p;x;s/.*\n//};/\n2222222222/{s/aaaaaaaaaa/GGGGGGGGGG/;b};ba}'
红色替换命令不理解,为什么能实现只打印\naaaaaaaaaa之前的内容?
能解释一下吗?


   

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
23 [报告]
发表于 2013-01-14 00:29 |只看该作者
回复 16# yestreenstars


    不客气!相互学习。

   感觉这种方法很别扭。不过,能用的就是好的。

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
24 [报告]
发表于 2013-01-14 00:39 |只看该作者
回复 22# cao627


    /\naaaaaaaaaa/{h;s///p...}中的s///p,相当于s/\naaaaaaaaaa//p。

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
25 [报告]
发表于 2013-01-14 00:52 |只看该作者
awk:
  1. awk -v RS='(^|\n)aaaaaa[^\n]*' '$0{if(/\n22222/)prefix="GGGGG";else prefix="aaaaa";print prefix $0}' urfile
复制代码

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
26 [报告]
发表于 2013-01-14 03:39 |只看该作者
回复 22# cao627


    如黑哥所言;
   
参考:
http://perldoc.perl.org/perlreref.html
If 'pattern' is an empty string, the last successfully matched regex is used.

论坛徽章:
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
27 [报告]
发表于 2013-01-14 09:11 |只看该作者
回复 23# blackold


    其实还是有问题的,只对有一行22222222222的有效~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP