Special Characters [^M] appearing at the end of line in file if seen on unix but not when seen in eclipse Special Characters [^M] appearing at the end of line in file if seen on unix but not when seen in eclipse unix unix

Special Characters [^M] appearing at the end of line in file if seen on unix but not when seen in eclipse


You have saved your text file as a DOS/Windows text file. Some Unix text editors do not interpret correctly DOS/Windows newline convention by default. To convert from Windows to Unix, you can use dos2unix, a command-line utility that does exactly that. If you do not have that available in your system, you can try with tr, which is more standard, using the following invocation:

tr -d '\r' < input.file > output.file


They are probably Windows carriage return characters. In Windows, lines are terminated with a carriage-return character followed by an end-of-line character. On Unix, only end-of-line characters are normally used, therefore many programs display the carriage return as a ^M.

You can get rid of them by running dos2unix on the files. You should also change your Eclipse preferences to save files with Unix end of lines.


Perhape this has suppressed UNIX warning message and worked creating the output file:

$ dos2unix -437 file.txt > file2.txt