unix2dos

From Wikipedia, the free encyclopedia
Jump to: navigation, search

unix2dos (sometimes named todos or u2d) is a tool to convert line breaks in a text file from Unix format (Line feed) to DOS format (carriage return + Line feed) and vice versa. When invoked as unix2dos the program will convert a Unix text file to DOS format, when invoked as dos2unix it will convert a DOS text file to UNIX format. [1]

Usage[edit]

Unix2dos and dos2unix are not part of the Unix standard. Commercial Unixes usually come with their own implementation of unix2dos/dos2unix. Like SunOS/Solaris (dos2unix/unix2dos), and HP-UX (dos2ux/ux2dos).

There exist many open source alternatives with different command names and options like dos2unix/unix2dos, d2u/u2d, fromdos/todos, flip.

See the manual page of the respective commands.

Alternatives to unix2dos conversion[edit]

recode latin1..dos file

Similar results can be achieved with different unix tools to change the trailing newline '\n' to a combination of carriage return and newline characters '\r\n', for example with perl or sed in-line editing:

perl -i -p -e 's/\n/\r\n/' file
sed -i -e 's/$/\r/' file

Note: The above example only works when there are only Unix line breaks in the file. When there are DOS line breaks (\r\n) in the input, these will be converted to \r\r\n, a Mac line break (\r) plus a DOS line break (\r\n).

For the opposite conversion (dos2unix) it is possible to use, for example, the utility tr with the -d '\r' flag to remove the carriage return characters:

tr -d '\r' < file > file2
perl -i -p -e 's/\r//' file
sed -i -e 's/\r//' file

Note: The above method assumes there are only DOS line breaks in the input file. Any Mac line breaks (\r) present in the input will be removed.

Another alternative to the dos2unix conversion is possible by using the col command that is available on Linux and other Unix-like operating systems, including Mac OS X. In the following case, InFile contains the undesired DOS (^M) line endings. After execution, OutFile is either created or replaced, and contains UNIX line endings. The -b option tells col not to output backspace characters.

col -b < InFile > OutFile

See also[edit]

References[edit]

  1. ^ A practical guide to Linux. Mark G. Sobell ISBN 0-13-147823-0 Page 55

External links[edit]

  • Tofrodos - software that provides dos2unix and unix2dos
  • Dos2Unix - Dos2Unix / Unix2Dos - Text file format converters