Преобразование файла из Unix в Windows / DOS

#linux #bash #shell #unix #dos

Вопрос:

У меня есть несколько файлов, сгенерированных из UNIX с такими значениями, как

 1 TEST1
2 TEST2
3 TEST3
4 TEST4
5 TEST5
6 TEST6
 

Я попытался скопировать файл в папку общего доступа, попытался загрузить его на свой локальный компьютер (Windows 10) , открыл его и все прошло нормально.
Но после того, как я открыл файл на своем сервере приложений (Windows Server 2012R2), значение файла стало

 1TEST12TEST23TEST34TEST45TEST56TEST6
 

Я уже пробовал с

  • sed -i ‘s/r$//g’
  • sed ‘s/$'»/ echo \r /» filename.txt > filename.txt
  • perl
  • оу, но ни один из них не работает

Комментарии:

1. Вы можете взглянуть на утилиту unix2dos , которая будет делать прямо противоположное dos2unix

2. @smoldev : Конечно unix2dos , будет, как уже отмечалось, вставлять те глупые возвраты карет, которые вы хотите иметь, но прежде всего, зачем они вам нужны . В настоящее время подавляющее большинство приложений Windoze могут с радостью обрабатывать одинокую подачу строки в качестве прерывателя строки. В своем сообщении вы упоминаете, что хотите *открыть* файл в Windows. Что именно вы имеете в виду под этим?

Ответ №1:

Пожалуйста, взгляните на:

 sed -r -i 's:r$:rn:g' your-file-name.txt
 

Комментарии:

1. я попробовал с sed-r -i ‘s:r$:rn:g’ your-file-name.txt и в моем блокноте он все еще открыт, как и раньше, но когда я открыл его с помощью другого текстового редактора (wordpad), он уже отображался так, как я хотел. у меня есть подозрение в блокноте, который установлен на моем сервере ПК