dos2unix#
$ dos2unix winfile.txt unixfile.txt
tr#
You can use tr to remove all carriage returns and Ctrl-z ( ^Z ) characters from a Windows file:
$ tr -d '\15\32' < winfile.txt > unixfile.txt
However, you cannot use tr to convert a document from Unix format to Windows.
awk#
To use awk to convert a Windows file to Unix, enter:$ awk '{ sub("\r$", ""); print }' winfile.txt > unixfile.txt
To convert a Unix file to Windows, enter:
$ awk 'sub("$", "\r")' unixfile.txt > winfile.txt
Older versions of awk do not include the sub function. In such cases, use the same command, but replace awk with gawk or nawk.
Perl#
To convert a Windows text file to a Unix text file using Perl, enter:
$ perl -p -e 's/\r$//' < winfile.txt > unixfile.txt
To convert from a Unix text file to a Windows text file, enter:
$ perl -p -e 's/\n/\r\n/' < unixfile.txt > winfile.txt
You must use single quotation marks in either command line. This prevents your shell from trying to evaluate anything inside.
vi#
In vi, you can remove carriage return ( ^M ) characters with the following command:
:1,$s/^M//g
Note: To input the ^M character, press Ctrl-v , and then press Enter or return.
In vim, use :set ff=unix to convert to Unix; use :set ff=dos to convert to Windows.
Linux