我有一个字符串20000024ff3dbf50
,我想将它转化,如:20:00:00:24:ff:3d:bf:50
,我试着sed
:添加符号,每2个字节
echo 20000024ff3dbf50 | sed 's/\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1:\2:\3:\4:\5:\6:\7:\8/'
,但它是一个有点难看。
我有一个字符串20000024ff3dbf50
,我想将它转化,如:20:00:00:24:ff:3d:bf:50
,我试着sed
:添加符号,每2个字节
echo 20000024ff3dbf50 | sed 's/\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1:\2:\3:\4:\5:\6:\7:\8/'
,但它是一个有点难看。
两个取代:
echo "20000024ff3dbf50" | sed 's/../&:/g;s/.$//'
结果:
20:00:00:24:ff:3d:bf:50
echo 20000024ff3dbf50 | grep -o .. | paste -d ':' -s -
grep的与输入-o分割到每行2个字符; 贴使用分隔符 ':' 垫他们[-s] erially
+1,不错的组合。 – Thor 2013-02-22 09:27:33
您也可以使用这个GNU AWK自动拆分:
echo 20000024ff3dbf50 | awk '$1=$1' FPAT=.. OFS=:
输出:
20:00:00:24:ff:3d:bf:50
肯定有一个更好的办法。 – 2013-02-22 09:08:12