UNIX treats the end of line differently than other operating systems. When editing files in either Windows or UNIX environments, a CTRL-M character is visibly displayed at the end of each line as ^M in vi.
To remove the ^M characters at the end of all lines in vi, use:
The ^v is a CONTROL-V character and ^m is a CONTROL-M.
In UNIX, you can escape a control character by preceding it with a CONTROL-V.
The :%s is a search and replace command in vi. It tells vi to replace the regular expression between the first and second slashes (^M) with the text between the second and third slashes (nothing in this case).
The g at the end directs vi to search and replace globally (all occurrences).
Alternately you can use dos2unix command to convert as well