You could splitsplit the 2nd field on : and if you get more than 2 pieces (that is, the number of elements in array z) keep only the 1st one:
awk '{n=split($2, z, ":");if (n > 2) $2=z[1]};1' infile If you wanted to use sub you could do something like:
awk '{sub(/:.*:.*/,"",$2)};1' infile that is, attempt to replace two colons (or more).