Costumo usar o less
pager para visualizar arquivos de log. Normalmente eu uso less -F
para acompanhar o progresso do log à la tail
.
No entanto, alguns arquivos de log usam caracteres nacionais em uma codificação não padrão (latino-1, enquanto o sistema usa UTF-8). Obviamente, eles não serão exibidos corretamente.
Como posso visualizar esses arquivos less
?
As únicas soluções que encontrei:
- Corrija a codificação do arquivo (
recode
ouiconv
). Isso não funciona enquanto o arquivo ainda está sendo gravado, portanto, não me permite usarless -F
. Além disso, destrói o registro de data e hora original dos arquivos de log, o que é ruim do ponto de vista da auditoria. - Use um cano (
recode latin1... |less
). Funciona para arquivos em andamento, mas infelizmenteless -F
não parece funcionar (ele simplesmente não é atualizado; acredito que orecode
processo é encerrado após a conclusão).
Alguma solução que me permita "arrastar" um arquivo de log e ainda mostrar caracteres nacionais corretamente?
less
suporta a chamada de um pré-processador. No entanto, até onde eu sei, o pré-processador lê o arquivo de entrada e cria um novo arquivo para less
, portanto, isso não funcionaria less -F
.
man less
que existe um pré-processador que você pode definir para corrigir sua codificação.