Suvarna Garge (Editor)

Unix2dos

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

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.

Contents

Usage

Unix2dos and dos2unix are not part of the Unix standard. Commercial Unixes usually come with their own implementation of unix2dos/dos2unix, like SunOS/Solaris's dos2unix/unix2dos, HP-UX's dos2ux/ux2dos and Irix's to_unix/to_dos.

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

See the manual page of the respective commands.

Alternatives to unix2dos conversion

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

or

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

or

or

Note: The above method assumes there are only DOS line breaks in the input file. Any Mac line breaks ( ) 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.

References

Unix2dos Wikipedia