Rachel Rachel - 7 months ago 29
Java Question

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

As described in questions, if I see a file in unix then I see special characters in it like

^M
at the end of every line but if I see same file in eclipse than I do not see that special characters.

How can I remove those characters in the file, if am using eclipse for editing the file, do we have to make any specific changes in the eclipse preferences for the same ?

Any guidance would be highly appreciated.

Update:

Yes indeed it was carriage issue and following command helped me to get it sort out:

dos2unix file1.sh>file2.sh
and
file2.sh
will be the file and it will not have any carriage values.

Possibly we can get warning like

could not open /dev/kbd to get keyboard type US keyboard assumed
could not get keyboard type US keyboard assumed
but following command will suppress the warnings:

dos2unix -437 file1.txt>file2.txt

Answer Source

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