[\x80-\xFF]
inclui apenas pontos de código de 128 a 255. Dependendo da localidade, especificamente na codificação de caracteres, isso pode ou não ser o conjunto de caracteres não-ASCII. É apenas o caso em codificações de 8 bits. (Codificações de 8 bits baseadas em ASCII, para ser preciso, mas é extremamente improvável que você encontre qualquer outra coisa.) Em locais onde um caractere não é um único byte, incluindo UTF-8 que é o padrão de fato, [\x80-\xFF]
é apenas um pequeno subconjunto de caracteres não-ASCII.
A maneira mais fácil de procurar caracteres não-ASCII é impor a localidade C. Na localidade C, um caractere é um byte. Usar uma localidade unibyte também torna algumas versões do GNU grep consideravelmente mais rápidas.
LC_ALL=C grep --color='auto' -P -n "[\x80-\xFF]" file.tex