Delete ^M Characters
Here is a tip on how to remove pesky control characters from a plain text file? Control characters, aka “carriage returns” can mess things up if you are trying to install a script on your Linux server.
There is more than one way to skin a cat but here are some ways that I personally remove carriage returns from a text file. In these examples, assume that filename is the actual name of your file. All these commands are to be run directly from the command line on your box.
- Using tr
tr -d '^M' < input_filename >output_filename
- Using sed
sed 's/^M$//g' filename > output_filename
- Using awk
awk '{ sub("\r$", ""); print }' input_filename > output_filename
- Using perl
perl -p -i -e 's/\r$//' filename
- Using vi
vi -c "%s/^M//g" -c "wq" filename
Choose your poison…
NOTE: Cutting and pasting the above examples will not work unless you are using the perl or awk examples. Simply putting a carat and a capital letter “M” will not work to get the proper ‘^M’ character. So how do you get the ‘^M’ in the command line? Its easy, just do the following:
- Keep CTRL key pressed
- Press the letter “v” and “m”
Thats it! Enjoy…
UPDATE 10-10-2005: I just found another way using strings
- Using strings
strings input_filename > output_filename
About this entry
You’re currently reading “ Delete ^M Characters ,” an entry on a little stupid blog
- Published:
- 10.5.05 / 11pm
- Category:
- tips-n-tricks
Comments are closed
Comments are currently closed on this entry.