Batch converter codificação do arquivo txt

2

Tenho cerca de 700 arquivos que resultaram de um processo de software de closed caption. Eu posso abrir os arquivos no meu PC ou Mac em uma interface gráfica, mas quando eu abri-lo no servidor com nano, eu recebo isso:

��0^@0^@;^@0^@0^@;^@0^@0^@;^@0^@0^@ ^@0^@0^@;^@0^@0^@;^@0^@6^@;^@0^@0^@
^@
^@N^@o^@t^@ ^@A^@v^@a^@i^@l^@a^@b^@l^@e^@

Aqui estão os resultados de algumas das coisas da linha de comando que tentei:

#file infile.txt 
infile.txt: data

# file -bi --mime-encoding  infile.txt 
application/octet-stream; charset=binary

recode ../CR-LF infile.txt
#file -bi --mime-encoding  infile.txt

#iconv -f binary -t uff-8 infile.txt > out.txt
iconv: conversions from 'binary' and to 'uff-8' are not supported

#recode ../CR-LF infile.txt
#recode UTF8..ISO-8859-15 infile.txt 
# file -bi --mime-encoding  infile.txt 
text/plain; charset=utf-16le

#xxd infile.txt | head -5
0000000: fffe 3000 3000 3b00 3000 3000 3b00 3000  ..0.0.;.0.0.;.0.
0000010: 3000 3b00 3000 3000 2000 3000 3000 3b00  0.;.0.0. .0.0.;.
0000020: 3000 3000 3b00 3000 3600 3b00 3000 3000  0.0.;.0.6.;.0.0.
0000030: 0d00 0d0a 004e 006f 0074 0020 0041 0076  .....N.o.t. .A.v
0000040: 0061 0069 006c 0061 0062 006c 0065 00    .a.i.l.a.b.l.e.

O arquivo atual se parece com isso (acontece que não foi a melhor escolha, eu acidentalmente escolhi um sem muita coisa nele):

00;00;00;00 00;00;06;00 Not Available

Então, se eu nano o arquivo, eu recebo texto na parte inferior que diz que foi convertido do formato DOS e Mac, mas ainda é tudo lixo. Eu preciso ser capaz de percorrer os arquivos e importar os dados para um banco de dados, mas é claro que não posso fazer isso se o servidor não conseguir ler o formato.

Eu gostaria de encontrar uma solução de longo prazo, pois gerarei muitos deles no futuro, e prefiro não usar o Windows PowerShell ou equivalente, mas incorporar a conversão em meu processo.

    
por Alan 18.07.2014 / 18:12

1 resposta

2

Então a solução para mim acabou sendo usar o recode. Não há muita documentação excelente, mas o truque era usar a opção -f para forçá-la a alterá-la.

recode -f UTF-7 *.txt
    
por 21.07.2014 / 18:48