Chinaunix
标题:
mac 地址补齐
[打印本页]
作者:
oguy99
时间:
2013-03-06 12:29
标题:
mac 地址补齐
现有这样的情况,需要对自动生成出来的mac地址格式化,要求如下:
比如随机生成的mac是 0:10:f3:10:a:1, 需要格式化为每段不足两位就补齐到2位,如 00:10:f3:10:0a:01
如何实现?
作者:
Shell_HAT
时间:
2013-03-06 12:39
echo 0:10:f3:10:a:1 | awk 'BEGIN{FS=OFS=":"}{for(i=1;i<=NF;i++)if(length($i)==1)$i=0$i}1'
复制代码
作者:
oguy99
时间:
2013-03-06 14:00
完全可用,gawk
作者:
seesea2517
时间:
2013-03-06 14:33
回复
2#
Shell_HAT
借机下蛋,再赠送一个sed:
[seesea@UC ~]$ echo 0:10:f3:10:a:1 | awk 'BEGIN{FS=OFS=":"}{for(i=1;i<=NF;i++) $i=sprintf("%02s", $i)}1'
00:10:f3:10:0a:01
[seesea@UC ~]$ echo 0:10:f3:10:a:1 | sed 's/\b[^:]\b/0&/g'
00:10:f3:10:0a:01
复制代码
作者:
zooyo
时间:
2013-03-06 17:31
提示:
作者被禁止或删除 内容自动屏蔽
作者:
yestreenstars
时间:
2013-03-06 17:46
回复
5#
zooyo
我也觉得很赞~
作者:
seesea2517
时间:
2013-03-06 17:51
@yestreenstars
@zooyo
作者:
一棵菠菜
时间:
2013-03-07 11:19
本帖最后由 一棵菠菜 于 2013-03-07 11:20 编辑
来个python
#!/usr/bin/env python
a='0:10:f3:10:a:1'
b=a.split(':')
for i in range(0,len(b)):
if len(b[i])==1:
b[i]='0'+b[i]
print ':'.join(b)
00:10:f3:10:a0:10
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2