Convert ^M to newline character in text files

In vi use the following:

:%s/^M/\n/g

or with perl on the command line:

$ perl -pi.bak -e 's/^M/\n/g' <filename>

NOTE: Be sure to create the ^M by typing ctrl+V followed by ctrl+M.

^M is ASCII 13 (Ctrl+M), which is the carriage return.

Different operating systems use different symbols to set the end of a line/new line.
Unix uses newline (\n)
Mac uses carriage return (\r)
And Windows/DOS use both (\n\r)

To prevent the ^M from showing up in files, be sure to use ASCII (text) mode when transfering text files.

Comment