Найти тему
QA & IT.

Утилита dos2unix.

Сегодня расскажу один простой способ как сконвертировать текстовый файл, созданный в windows, для использования в unix.

Допустим нам требуется сгенерировать bash скрипт на windows, который мы потом применим на linux машине. Если мы просто скинем готовый скрипт на linux и попробуем его запустить, то столкнемся с ошибками, при его выполнении, которые будут вызваны командным интерпретатором. Bash попросту не сможет правильно обработать перенос строк, в виду того что форматы текстовых файлов для windows и linux несколько отличаются друг от друга.

Решением в данном случае будет прогнать bash скрипт через утилиту dos2unix перед его выполнением.

Предварительно установим её

apt-get install dos2unix

Теперь сконвертируем наш скрипт в unix формат. Синтаксис максимально прост:

dos2unix %filename%

или dos2unix -n %filename1% %filename2% (если нам нужно чтобы создался новый файл)

Утилита сообщит нам о том, что конвертирует файл. По завершении операции запустим наш сконвертированный скрипт. Теперь bash выполняет его успешно. Как видите все быстро и просто :-)

Утилита обладает различными настройками конвертирования (например, выбором кодовой страницы). Более подробно с утилитой и её авторами можно ознакомиться здесь:

http://dos2unix.sourceforge.net/

Кстати, для обратных целей (конвератиции из unix формата в windows) существует аналогичная утилита unix2dos, которая будет доступна после установки dos2unix.