O arquivo de texto do Windows aparece corrompido no Ubuntu após a transferência USB

0

Eu encontrei algo extremamente estranho hoje.

Veja o que aconteceu: Eu escrevi um pequeno script Python (para verificar a conectividade com um host) no trabalho usando o PyDev. Eu transferi-lo do meu laptop com Windows 7 para uma estação de trabalho Ubuntu através de um pen drive, e o arquivo apareceria como um monte de rabiscos. Tentei salvar novamente e renomear o arquivo, mas isso não ajudou. Eu tentei visualizar o arquivo em outra estação de trabalho do Ubuntu, e aconteceu a mesma coisa. Isso não afetou nenhum dos meus outros arquivos Python. Eu duvido que o problema esteja no meu pen drive porque eu posso lê-lo perfeitamente no laptop.

Eu finalmente decidi enviar o arquivo por e-mail para mim e isso resolveu o problema. Alguém sabe o que pode ter acontecido?

    
por Danny Chia 23.01.2013 / 00:38

1 resposta

1

Com base nas informações que você forneceu, eu suspeito que isso possa ter sido feito com a diferença nas terminações de linha usadas no * nix e no Windows. Confira esta página na Wikipedia.

Você pode confirmar se a terminação de linha está causando o problema, inspecionando-a usando um utilitário que pode despejar os caracteres ascii. No Ubuntu você pode usar hexdump

hexdump <filename> 

E aqui está um exemplo que ilustra a diferença entre os finais de linha entre os dois sistemas. O arquivo de entrada é um arquivo de texto simples chamado sample.txt com as palavras line1 e line2 em linhas separadas

$ cat sample.txt
line1
line2

Saída do exemplo.txt criado em um sistema Linux

sample.txt:
00000000  6c69 6e65 310a 6c69 6e65 320a           line1.line2.

Saída do exemplo.txt criado em um sistema Windows

sample.txt:
00000000  6c69 6e65 310d 0a6c 696e 6532 0d0a      line1..line2..

Para converter entre os tipos de finais de linha, tente dos2unix ou fromtodos .

    
por 23.01.2013 / 02:58

Tags