免费注册 查看新帖 |

Chinaunix

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

【求助】如何利用shell在特定行的开头和结尾添加内容? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-18 16:54 |只看该作者 |倒序浏览
例如,有下面的文件:

$ more messages

Sun Mar 12 19:48:01 2006
[1116] #125: StorEdge Array: SCSI Drive ALERT: block reassignment failed

Sun Mar 12 19:48:01 2006
[2103] #127: LD-ID 53493F88 : ALERT: rebuild failed

Sun Mar 12 20:11:26 2006
[11c1] #128: StorEdge Array  SCSI Drive NOTICE: scan SCSI drive successful

Sun Mar 12 20:12:59 2006
[2183] #129: LD-ID 53493F88 : NOTICE: starting logical drive rebuild

Sun Mar 12 20:12:59 2006
[2184] #129: LD-ID 53494F78 : NOTICE: starting logical bad rebuild

现在想要通过shell将含有alert或者bad的行的开头加上 “Error messages: ", 在行的结尾加上 " please check the message."  新的输出应该类似于下面的行:

Error messages: [2103] #127: LD-ID 53493F88 : ALERT: rebuild failed please check the message。

这种可以通过shell实现吗?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-03-18 17:32 |只看该作者

  1. sed -i '/\<ALERT:\>\|\<bad\>/s/.*/Error messages: & please check the message。/' urfile
复制代码

BTW:RTFW

论坛徽章:
0
3 [报告]
发表于 2006-03-18 18:58 |只看该作者
原帖由 寂寞烈火 于 2006-3-18 17:32 发表

  1. sed -i '/\<ALERT:\>\|\<bad\>/s/.*/Error messages: & please check the message。/' urfile
复制代码

BTW:RTFW



option -i 的意思就是直接修改原文件么?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2006-03-18 19:02 |只看该作者
是的,不过得sed版本
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP