And if the input is not tab-separated but of fixed width and you need to preserve the number of spaces/tabs between the columns, then try (with some assumptions):
Hi, it will substitute a string that consists of "0x00" followed by eight characters. It will group those 8 characters into 4x2 characters (the last 2 characters of the 0x00 address are not being substituted, but left as-is). In the right hand side of the substitute command, it references these 4 groups and places colons between them and behind the last one ( i.e. in front of the 2 characters of the 0x00 address that were left out of the match )
Scrutinizer,
This is a grat explanation of the great code, I am able to understand it, never thought it is such a magic code, to convert that into colon separated,
sed 's/0x00\(..\)\(..\)\(..\)\(..\)/\1:\2:\3:\4:/' file