g
в конце заставит sed
повторить подстановку столько раз, сколько возможно в строке. Вы только хотите сделать это дважды.
Давайте сделаем это с помощью GNUawk
:
echo 'abcdef12cade 12345678 abcdefba12345678' |
awk '{ sub("[0-9a-fA-F]{8}", "00000000", $1)
sub("[0-9a-fA-F]{8}", "00000000", $2)
print }'
Это выполняет замену только в двух первых полях, -разделенных пробелами, а затем печатает результирующую строку.