Chinaunix

标题: 求解一个shell [打印本页]

作者: aae2008_lbh    时间: 2008-10-15 10:44
标题: 求解一个shell
主机得到MAC地址:0.2.55.6f.ac.8c
想转化为:00:02:55:6f:ac:8c
在缺位的地方补充一个0
作者: ly5066113    时间: 2008-10-15 10:52
原帖由 aae2008_lbh 于 2008-10-15 10:44 发表
主机得到MAC地址:0.2.55.6f.ac.8c
想转化为:00:02:55:6f:ac:8c
在缺位的地方补充一个0



echo '0.2.55.6f.ac.8c' | sed 's/\<\w\>/0&/g;s/\./:/g'

[ 本帖最后由 ly5066113 于 2008-10-15 11:08 编辑 ]
作者: waker    时间: 2008-10-15 10:53
sed 's/^/0/;s/\./:0/g;s/[^:]\([^:][^:]\)/\1/g'
作者: zhaopingzi    时间: 2008-10-15 11:21
$ echo "0.2.55.6f.ac.8c"|awk -F. '{for(i=1;i<=6;i++)if(length($i)==1) $i="0"$i}END {print $0}'|awk 'BEGIN{OFS=":"} {print $1,$2,$3,$4,$5,$6}'

00:02:55:6f:ac:8c


作者: lth0721    时间: 2008-10-15 11:35
刚刚学这个想请教一下一 、二楼的两位<[0-9a-z]> 和[^:]、([^:][^:])分别是什么意思呢?

[ 本帖最后由 lth0721 于 2008-10-15 11:46 编辑 ]
作者: kvkingdom    时间: 2008-10-15 12:03
\<[0-9a-z]\> 精确查找由数字或小写字母构成的字符 \<锚定开始 \>锚定结束
[^:]非:
([^:][^:])两个非:字符,并存储.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2