Corrigindo arquivos de texto com caracteres inválidos

0

Como posso consertar um arquivo de texto que o gedit identifica como contendo caracteres inválidos? A mensagem que recebo é a seguinte:

The file you opened has some invalid characters.
If you continue editing this file you could corrupt this document.
You can also choose another character encoding and try again.

Já tentei as duas soluções listadas aqui . Com relação à solução "suja", diff identifica os dois arquivos como binários em vez de texto. Como tal, simplesmente me diz que eles diferem; Ele não fornece uma comparação como seria com arquivos de texto. Com relação ao uso de isutf8 , ele simplesmente retorna sem nenhuma saída.

Antecedentes:

Eu estava fazendo algum trabalho como convidado em outra instalação que, se bem me lembro, usa o CentOS. Salvei o arquivo em um local de rede que, presumo, era o CIFS, pois era acessível ao Windows por meio do formato típico de unidade de rede \host.name\share . Enquanto estive lá, tive o arquivo aberto em dois computadores Linux diferentes. Embora ambos tenham ativado a salvamento automático, eu salvei explicitamente de um só; o outro computador que eu estava usando apenas para leituras. O tempo todo em que estive lá funcionou bem. Antes de sair, fechei o arquivo em ambos os computadores e fiz uma cópia para uma unidade flash USB. Eu recebi recentemente um email dizendo que a cópia no servidor não é legível por seu editor de texto e eu confirmei o mesmo para a cópia na minha unidade flash para o gedit. No meu fim, estou usando o Ubuntu 14.04.

Atualização:

Por comentário de Stéphane Chazelas, eu li este outro tópico . Eu tentei a solução aceita e grep retorna sem qualquer saída. Eu tentei os dois comandos a seguir:

grep -axv '.*' 'file/path.txt'
grep -axvP '.*' 'file/path.txt'

Eu também tentei a resposta mais votada, a que usou iconv . O arquivo de saída também foi identificado pelo gedit como contendo caracteres inválidos.

Atualização:

Por comentário de Michael Homer, eu corri hexdump -C 'file/path.txt' | head e deu a seguinte saída:

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00001fce
    
por Andrew Shum 12.12.2017 / 21:36

0 respostas