Текстовий файл Windows виявляється пошкодженим на Ubuntu після передачі USB


0

Я сьогодні зіткнувся з чимось надзвичайно дивним.

Ось що сталося: я написав короткий сценарій Python (щоб перевірити підключення до хоста) на роботі за допомогою PyDev. Я переніс його зі свого ноутбука Windows 7 на робочу станцію Ubuntu за допомогою пальчикового накопичувача, і файл виглядатиме як безлад. Я спробував повторно зберегти та перейменувати файл, але це не допомогло. Я спробував переглянути файл на іншій робочій станції Ubuntu, і сталося те саме. Це не торкнулося жодного з моїх інших файлів Python. Я сумніваюсь, що проблема полягає в тому, що я маю великий палець, тому що я можу добре його прочитати на ноутбуці.

Зрештою, я вирішив надіслати файл електронною поштою, і це вирішило проблему. Хтось знає, що може статися?


2
"Гібрид"? Це допоможе включити зразок того, що ви бачите.
Wyzard

Я опублікую скріншот, коли завтра вранці до роботи.
Danny Chia

Як не дивно, я вніс кілька змін у файл Python, і він більше не виглядає як химерність. Можливо, сектор на палець великого пальця був зіпсований таким чином, що він не читався лише на Ubuntu. Хто знає?
Danny Chia

Відповіді:


1

Виходячи з наданої вами інформації, я підозрюю, що це може бути пов'язане з різницею закінчень рядків, що використовуються у * nix та Windows. Перевірте цю сторінку у Вікіпедії.

Ви можете підтвердити, чи закінчення рядка викликає проблему, перевіривши його за допомогою утиліти, яка може скидати символи ascii. У Ubuntu ви можете користуватисяhexdump

hexdump <filename> 

А ось приклад, який ілюструє різницю закінчень рядків між двома системами. Вхідний файл - це простий текстовий файл, названий sample.txt зі словами line1 та line2 в окремих рядках

$ cat sample.txt
line1
line2

Вихід sample.txt, створений в системі Linux

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

Вихід sample.txt створюється в системі Windows

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

Для перетворення між типами закінчень рядків спробуйте dos2unix або fromtodos .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.