Если вы когда-либо переносили текстовый файл из системы UNIX напрямую в систему Windows, вы знаете, что когда вы открываете текстовый файл в системе Windows, он обычно не отображается. правильно. Программы чтения текста для Windows (например, «Блокнот») могут не отображать текст. В большинстве случаев, когда вы открываете текстовый файл, все слова отображаются в одну гигантскую строку без каких-либо разрывов. Это связано с небольшой разницей в способах написания (и чтения) текстового документа в Windows и UNIX.
Если файл был написан в системе на базе Windows и открыт текстовым редактором в системе UNIX, очень часто в конце каждой строки отображаются символы «Ctrl-M» (^M). текста. Если файл был написан в системе UNIX и открыт текстовым редактором в системе Windows, символ разрыва строки (EOL) может отображаться неправильно. Символ возврата каретки также различен для UNIX и Windows.
При работе с файлами вы не хотите быть ограничены тем, был ли файл создан в Linux или Windows. Так как же конвертировать файл из UNIX в Windows (или наоборот), не заморачиваясь при форматировании? Мы проведем вас через все этапы.
Преобразование файлов из формата Linux/UNIX в формат Windows
Если вы используете систему на базе UNIX для передачи файлов в систему Windows, есть несколько команд, которые позволяют вам конвертировать текстовые файлы, которые вы передаете, в формат, понятный Windows.
Команды dos2unix и unix2dos
Вы можете использовать командную строку для безопасного преобразования файлов из UNIX в Windows и наоборот. Чтобы преобразовать текстовый файл Windows в текстовый файл UNIX, введите следующее:
dos2unix windows.txt unix.txt
Приведенная выше команда преобразует и заменяет файл «windows.txt» на «unix.txt». Чтобы преобразовать текс
Contents
Преобразование файлов из формата Linux/UNIX в формат Windows
/p>unix2dos unix.txt windows.txt
Приведенная выше команда преобразует созданный UNIX текстовый файл с именем «unix.txt» в совместимый с Windows текстовый файл с именем «windows.txt».
Команда awk
Команда awk
также позволяет конвертировать файл из UNIX в Windows и наоборот. Чтобы преобразовать файл Windows в файл UNIX, введите следующую команду:
awk '{ sub("\r$", ""); print }' windows.txt > unix.txt
Чтобы преобразовать текстовый файл UNIX с именем «unix.txt» в текстовый файл Windows с именем «windows.txt», введите следующую команду:
awk 'sub("$", "\r")' uniz.txt > windows.txt
Команда tr
Команду tr
(транслитерацию) можно использовать для удаления символов возврата каретки и символов «Ctrl-Z» из файла Windows. Это можно сделать только в том случае, если вы конвертируете файл из Windows в UNIX. Команда будет записана следующим образом:
tr -d '\15\32' unixfile.txt
Команда tr
транслитерирует один символ другим. В данном случае это поможет вам опустить ненужные символы.
Использование визуального редактора (Vi)
Если вы используете визуальный редактор для просмотра файла, созданного в системе Windows, вы можете удалить символы возврата каретки, введя следующую командную строку:
:1,$s/^M//g
Команда awk
компьютер ввел символ ^M, вам нужно нажать «Ctrl + v», а затем нажать «Return».Использование программ протокола передачи файлов
Программы протокола передачи файлов (FTP) доступны как для систем UNIX, так и для Windows. Если вам нужно конвертировать много файлов из Windows в UNIX (или наоборот), рекомендуется скачать программу FTP. Многие из них доступны бесплатно в Интернете. Колибри FTP — одна из самых популярных FTP-программ. Он безопасен и прост в использовании.
Большинство FTP-программ передают файлы из UNIX в Windows в формате ASCII. Иногда вам при
Команда tr
т самостоятельно (если вы используете FTP-программы на основе командной строки). Для этого просто введите в командной строке:ascii
Заключение
Самый простой способ конвертировать файл из формата UNIX в формат Windows (и наоборот) — использовать программу FTP. Команды преобразования — ваш следующий лучший выбор. Если вы ищете дополнительные команды, выполняющие ту же задачу, вы можете выполнить поиск по командам perl
и sed
. Однако имейте в виду, что эти команды могут работать не во всех системах.