Оригинальный автор(ы) | Джон Бирчфилд |
---|---|
Разработчик(и) | Бенджамин Лин, Бернд Йоханнес Вюббен, Кристиан Вурлль, Эрвин Ватерлендер |
Первоначальный выпуск | 1989 ( 1989 ) |
Стабильный релиз | 7.5.2 [1] / 22 января 2024 г. ( 22 января 2024 ) |
Репозиторий |
|
Операционная система | Unix-подобный , DOS , OS/2 , Windows |
Платформа | Кроссплатформенный |
Тип | Команда |
Лицензия | Лицензия в стиле FreeBSD |
Веб-сайт | Waterlan.home.xs4all.nl/dos2unix.html |
unix2dos
(иногда называемый todos
или u2d
) — это инструмент для преобразования переносов строк в текстовом файле из формата Unix (перевод строки) в формат DOS ( возврат каретки + перевод строки) и наоборот. При вызове как unix2dos
программа преобразует текстовый файл Unix в формат DOS, при вызове как dos2unix
она преобразует текстовый файл DOS в формат Unix. [2]
Unix2dos и dos2unix не являются частью стандарта Unix. Коммерческие Unix обычно поставляются с собственной реализацией unix2dos/dos2unix, например, dos2unix/unix2dos от SunOS/Solaris , dos2ux/ux2dos от HP-UX и to_unix/to_dos от Irix .
Существует множество альтернатив с открытым исходным кодом с различными именами команд и опциями, такими как dos2unix/unix2dos , d2u/u2d , fromdos/todos , endlines , flip . Многовызовной двоичный busybox включает реализацию unix2dos/dos2unix .
См. страницу руководства соответствующих команд.
$ перекодировать файл latin1..dos
$ perl -i -p -e 's|[\r\n]+|\r\n|g' file
$ sed -i -n -z 's/\r*\n/\r\n/g;p' file
Для обратного преобразования ( dos2unix ) можно использовать, например, утилиту tr с -d '\r'
флагом удаления символов возврата каретки:
$ tr -d '\r' < file > file2 # For ASCII and other files which do not contain multibyte characters (Not utf-8 safe).
$ perl -i -p -e 's/\r//g' file
$ sed -i -e 's/\r//g' file
Примечание: Вышеуказанный метод предполагает, что во входном файле есть только переносы строк DOS. Любые переносы строк Mac (\r), присутствующие во входных данных, будут удалены.
Альтернативой преобразованию dos2unix является использование col
команды, доступной в Linux и других Unix-подобных операционных системах, включая Mac OS X. В следующем случае InFile содержит нежелательные окончания строк DOS (^M). После выполнения OutFile либо создается, либо заменяется и содержит окончания строк UNIX. Опция -b
указывает col
не выводить символы возврата на одну позицию.
$ col -b < ВходящийФайл > ВыходнойФайл