免费注册 查看新帖 |

Chinaunix

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

菜鸟请教:一个sed例子,想请教下我的理解对不对,希望高手指正! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-26 18:24 |只看该作者 |倒序浏览
从书上看了一个例子,想请教下我的理解对不对,希望高手指正!



  1. [root@localhost ch05]# more testmail
  2. From root@localhost.localdomain  Mon Dec 11 00:24:00 2006
  3. Date: Mon, 11 Dec 2006 00:23:58 +0800
  4. From: root <root@localhost.localdomain>
  5. To: root@localhost.localdomain
  6. Subject: LogWatch for localhost.localdomain


  7. ################### LogWatch 4.3.1 (01/13/03) ####################

复制代码


  1. [root@localhost ch05]# sed '/^From /,/^$/{
  2. s/^From //p
  3. c\
  4. <mail header removed>
  5. } ' testmail
  6. root@localhost.localdomain  Mon Dec 11 00:24:00 2006
  7. <mail header removed>
  8. <mail header removed>
  9. <mail header removed>
  10. <mail header removed>
  11. <mail header removed>
  12. <mail header removed>

  13. ################### LogWatch 4.3.1 (01/13/03) ####################

  14. [root@localhost ch05]#

复制代码


sed始终是按行编辑的,这个脚本的命令是:
第一行:先删除From这个单词和一个空格,然后打印这一行,再用<mail header removed>替换这一行。脚本到底部以后会产生输出,所以会输出2行:

  1. root@localhost.localdomain  Mon Dec 11 00:24:00 2006
  2. <mail header removed>
复制代码


然后sed脚本开始应用于第二行,模式空间读入第二行以后被换为第二行的内容,
因为第一个命令无法匹配而生效,所以,脚本到尾部替换完以后的

  1. <mail header removed>
复制代码

会被输出。
第三行,第四行,第五行,一行空格。也是如此。




谢谢了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP