Como retornar a posição real de um caractere do tipo UNICODE dentro de um arquivo texto?

1. Como retornar a posição real de um caractere do tipo UNICODE dentro de um arquivo texto?

Michel Luis Grassi
mlgrassi

(usa Debian)

Enviado em 16/07/2021 - 08:33h

Prezados,

Estou tendo dificuldades em obter a verdadeira posição de um caractere dentro de um arquivo texto. Estou utilizando o comando
grep -ob '£' arquivo.txt 


Como se sabe, os caracteres usuais da tabela ASCII são representados por 1 Byte. Assim quando abrimos o arquivo com um editor como por exemplo o Notepad++ e posicionamos o cursor em cima deste caractere e contarmos da esquerda para a direita, a conta baterá. Ex. Iniciando a contagem em 0 chegamos no nosso caractere na posição 20. No entanto, se utilizarmos o grep como supracitado acima para buscar a posição do caractere UNICODE, será retornada a posição 22 (dois caracteres a mais) pois a representação não é mais 1 Byte e sim 4 Bytes.
Como fazer para obter a posição real deste caractere? Algum outro comando ou no próprio grep dá para fazer isto? Lembrando que existem diversos caracteres £ espalhados pelo arquivo e preciso obter a posição de todos eles.