免费注册 查看新帖 |

Chinaunix

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

sed 用N命令 替换隔行的词组 ,求助大神 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-08-05 23:09 |只看该作者 |倒序浏览
本帖最后由 yetugeng 于 2016-08-05 23:16 编辑

教材上有个例子,就是替换出现在两行的词组,
如下
[root@git script]# cat data2
The first meeting of the Linux System
Administrator's group will be held on Tuesday.
All System Administrators should attend this meeting. System
Administrators Thank you for your attendance.
[root@git script]# sed '                                                                                                              
>N
>s/System\nAdministrator/Desktop\nUser/
>s/System Administrator/Desktop User/
>' data2
The first meeting of the Linux Desktop
User's group will be held on Tuesday.
All Desktop Users should attend this meeting. Desktop
Users Thank you for your attendance.
这样就将第一行末和第二行首的,还有第三行和第四行的组合词组System Administrator替换为Desktop User了。似乎是达到将全文的隔行出现的System Administrator词组替换掉了。

但是我稍微修改了下data2文件,结果就不对了
我在文本data2中的第二行末和第三行首添加了System Administrator,见红色部分
[root@git script]# cat data2
The first meeting of the Linux System
Administrator's group will be held on Tuesday. System
Administrator All System Administrators should attend this meeting. System
Administrators Thank you for your attendance.
还是用之前的命令处理,
[root@git script]# sed '                                                                                                              
>N
>s/System\nAdministrator/Desktop\nUser/
>s/System Administrator/Desktop User/
>' data2
The first meeting of the Linux Desktop
User's group will be held on Tuesday. System
Administrator All Desktop Users should attend this meeting. Desktop
Users Thank you for your attendance.
结果,第二行和第三行之间的System Administrator就没有被替换了。这该怎么解决呢。
这证明N命令没有将第三行提上来和第二行一起处理。但是我们要的效果不是针对每一行来把下一行提上合并在模式空间处理么,若是只是把一二行,三四行,。。。。这样组合起来处理,局限性是不是太大了。

哪位大神解释下,我在学习sed 的N命令和模式空间,看到这里的示例就迷惘了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP