2013-02-22 74 views
2

我有一個字符串20000024ff3dbf50,我想將它轉化,如:20:00:00:24:ff:3d:bf:50,我試着sed添加符號,每2個字節

echo 20000024ff3dbf50 | sed 's/\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1:\2:\3:\4:\5:\6:\7:\8/'

,但它是一個有點難看。

+0

肯定有一個更好的辦法。 – 2013-02-22 09:08:12

回答

4

兩個取代:

echo "20000024ff3dbf50" | sed 's/../&:/g;s/.$//' 

結果:

20:00:00:24:ff:3d:bf:50 
2
echo 20000024ff3dbf50 | grep -o .. | paste -d ':' -s - 

grep的與輸入-o分割到每行2個字符; 貼使用分隔符 ':' 墊他們[-s] erially

+0

+1,不錯的組合。 – Thor 2013-02-22 09:27:33

1

您也可以使用這個GNU AWK自動拆分:

echo 20000024ff3dbf50 | awk '$1=$1' FPAT=.. OFS=: 

輸出:

20:00:00:24:ff:3d:bf:50 
相關問題