Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3027946
  • 博文数量: 272
  • 博客积分: 5544
  • 博客等级: 大校
  • 技术积分: 5496
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 00:48
个人简介

  每个人都要有一个骨灰级的爱好,不为金钱,而纯粹是为了在这个领域享受追寻真理的快乐。

文章分类

全部博文(272)

文章存档

2015年(2)

2014年(5)

2013年(25)

2012年(58)

2011年(182)

分类: LINUX

2011-12-13 14:57:03

  1. echo "00ac45d5082f" | sed 's/../&:/g;s/:$//'
  2. 00:ac:45:d5:08:2f
[解析]
这是最常见,最常用,最直白的替换方式。缺点,需要二次替换掉最后的冒号。



  1. echo "00ac45d5082f" | sed -r 's/(^..)?(..)/\1:\2/g'
  2. 00:ac:45:d5:08:2f
[解析]
这个方法比上一个高级多了,至少只需要一次替换就可以成功。缺点,长了点。




  1. echo "00ac45d5082f" | sed 's/..\B/&:/g'
  2. 00:ac:45:d5:08:2f
[解析]
\B匹配到非边界时为真,那么匹配到最后的 $ 时则不会替换它。

阅读(3289) | 评论(3) | 转发(1) |
给主人留下些什么吧!~~

zooyo2013-05-14 14:25:06

心乃南部之星:echo "00ac45d5082f" | sed -r 's/(^..)?(..)/\1:\2/g' 

00:ac:45:d5:08:2f 
(^..)?(..) 这个能解释下吗,不太理解

你哪里不理解?

回复 | 举报

心乃南部之星2013-05-10 10:35:33

echo "00ac45d5082f" | sed -r 's/(^..)?(..)/\1:\2/g' 

00:ac:45:d5:08:2f 
(^..)?(..) 这个能解释下吗,不太理解

yangkyo8212012-01-07 19:04:58

简单的替换能学到这么多方法,太好了