Latest update on October 19, 2020 at 02:14 PM by Irene Burn .
There are several softwares to convert text files from UNIX or Linux to DOS operating systems and vice-versa. However, it always helps to know the manual conversion.
Intro
In shell programming languages like UNIX or Linux the text files conclude with a new line operator "
" also known as the line feed and its ASCII code is 0A.
A DOS Text file concludes a line by the carriage return or the entry key "r": its ASCII code is 0D.
The lines in the DOS end with CRLF or with "r
". To convert this DOS text into UNIX or Linux , erase the "r": you can also use ASCII codes if you are using GNU-sed version.
From UNIX to DOS you may add the "r" or else use GNU-sed notations symbolically, using the ASCII codes.
Though there are (dos2unix and unix2dos) utility programs capable of performing this task, here is a simple tip on how to manually make these features.
Conversion DOS to UNIX / UNIX to DOS
The text files under UNIX end their line with the symbol "
" (called Line Feed and noted LF, ASCII code = 0A).
Text files under DOS by a "line", end their line with the symbol "r"
(called Carriage Return and noted CR, ASCII 0D). Thus, every line in a DOS file ends with a CRLF sequence, or r
.
Conversion from DOS to UNIX
Delete the "r" (carriage return) at the end of the line.The "r" is symbolically represented by "^M", which is obtained by the following sequence of keys "CTRL-V" + "CTRL-M":
sed 's/^M$//' file
Note: with the GNU-sed(gsed 3.02.80) version, we can use the ASCII notation:
sed 's/x0D$//' file
Conversion from UNIX to DOS
Just do the opposite of the previous command, namely (the "^M" being entered in the same way (CTRL-V + CTRL-M)):
sed 's/$/^M/' file
Note: with the GNU-sed(gsed 3.02.80) version, we can use the symbolic notation "r":
sed 's/$/r/' file
Image: © Unsplash
Leave a Comment