Contanto que você esteja procurando por caracteres específicos (isto é, não usando conjuntos de caracteres ou busca sem distinção entre maiúsculas e minúsculas), você pode fazer o grep procurar bytes: converter qualquer caractere não-ASCII no regexp para o valor de byte que o representa no KOI8-R, e invoque o grep no local C ( LC_ALL=C grep …
, ou apenas LC_CTYPE=C LC_COLLATE=C grep …
) para que ele procure por bytes.
Você pode usar iconv -f utf-8 -t koi8-r
para converter uma string digitada em UTF-8 para KOI8-R, mesmo que as localidades KOI8-R não estejam listadas em locale -a
.
O % co_de O método% também depende do iconv e não precisa da localidade a ser construída.