Isso funciona. ^
denota início de linha, mais {32}
que você já teve e, em seguida, $
no final da linha.
$ cat fileA fileB
12345678901234567890123456789012
123456789012345678901234567890123
12345678901234567890123456789012
123456789012345678901234567890124
$ grep -E "^.{32}$" fileA fileB
fileA:12345678901234567890123456789012
fileB:12345678901234567890123456789012
$
E, como apontado por @steeldriver, o posix grep inclui -x, então a seguinte abordagem também funciona: grep -xE ".{32}" fileA fileB