sed使用心得

一直都对sed多而难记的命令望而生畏,知道他功能很强大,但是就是难掌握。sed在我脑海中一直是这样的命令:很难用,但是一旦要用的时候又不会。

首先,sed是一个编辑器,用来修改文件的,这点类似vi。但是他的特点是一行一行的处理,每读取一行,按照命令格式去处理,处理完后再读取下一行,直到按照相同的规则处理完所有行。另外,sed是根据给定的格式命令自动处理,可以快速的处理重复的编辑操作。

这种强大的命令,还是要在实践中多总结,当遇到需要用sed的场合,一定要用sed,不会就上网查。只有多实践,掌握sed的常用用法,才是正道。所以此文会持续更新。

下面结合例子展示sed的用法。
示例文件:

cv2x.ERROR     $mocar_output, "/huali/log/cv2x.log";  normal
cv2x.ERROR    "/huali/log/cv2x.core.log",   5MB * 1; normal
cv2x_hub.ERROR     $mocar_output, "/huali/log/cv2x_hub.log";  normal
cv2x_hub.ERROR    "/huali/log/cv2x_hub.core.log",   5MB * 1; normal
cv2x_stack.ERROR     $mocar_output, "/huali/log/cv2x_stack.log";  normal
cv2x_stack.ERROR    "/huali/log/cv2x_stack.core.log",   5MB * 1; normal
cv2x_monitor.ERROR     $mocar_output, "/huali/log/cv2x_monitor.log";  normal
cv2x_monitor.ERROR    "/huali/log/cv2x_monitor.core.log",   5MB * 1; normal
  • 操作1:将cv2x_hub替换成cv2x_app,只打印替换后的结果,不真正修改文件内容:
  • 上述操作中,只打印被替换的行,其他的行不打印:
  • 上述操作中,将替换写入到文件中:
  • 将包含mocar_output的行中的ERROR替换为DEBUG;
  • 多点替换:将huali替换成usr,将log替换成local
  • 将/huali/log一次性替换成/usr/local
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值