On my machine, your "?"
is actually "�"
. That's the UNICODE character used as a fallback when decoding fails.
It looks like bind -p
outputs invalid UTF-8 sequences, and grep -v '.*'
does not filter them because it cannot decode them in the first place.