Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
Hi I am a beginner. I ftp a text file using binary and now when I modify the files I see a lot of ^M symbol at the end of every line. How do I get rid of this symbol quickly? I am about 200 lines per file to modify!! I want to use vi to make this modification

Sometimes these characters are placed in a file during a DOS to UNIX conversion (these characters can only be viewed using an editor such as vi editor or using the cat v command to view the file). To remove these characters, use the tr d command to delete the control characters from the file (you may also use the :%s/.$// command in vi editor to delete ^M characters). After using cat v to view the file, determine which control characters are present in the file. Refer to the ascii table (http://www.asciitable.com) to get the octal representation of the characters. The following is a brief list of Control characters octal representation:
Oct Dec Hex Name
000 0 0x00 NUL
001 1 0x01 SOH, Control-A
002 2 0x02 STX, Control-B
003 3 0x03 ETX, Control-C
004 4 0x04 EOT, Control-D
005 5 0x05 ENQ, Control-E
006 6 0x06 ACK, Control-F
007 7 0x07 BEL, Control-G
010 8 0x08 BS, backspace, Control-H
011 9 0x09 HT, tab, Control-I
012 10 0x0a LF, line feed, newline, Control-J
013 11 0x0b VT, Control-K
014 12 0x0c FF, form feed, NP, Control-L
015 13 0x0d CR, carriage return, Control-M
016 14 0x0e SO, Control-N
017 15 0x0f SI, Control-O
020 16 0x10 DLE, Control-P
021 17 0x11 DC1, XON, Control-Q
022 18 0x12 DC2, Control-R
023 19 0x13 DC3, XOFF, Control-S
024 20 0x14 DC4, Control-T
025 21 0x15 NAK, Control-U
026 22 0x16 SYN, Control-V
027 23 0x17 ETB, Control-W
030 24 0x18 CAN, Control-X
031 25 0x19 EM, Control-Y
032 26 0x1a SUB, Control-Z
For example, ^C is represented by \003, and ^M is represented by \015.Use the following command to remove ^M characters:
tr -d "\015" newfile
Example: tr d \015 goodfile.txt

There is a much easier way.
In vi, do a :%s/^M//g
To get the ^M hold the control key, press V then M (Both while holding the control key) and the ^M will appear. This will find all occurances and replace them with nothing.
Hope this helps.
Leigh

I Used :%s/^M/^M/g in Mac OS X in vi to
replace the ^M 's with carriage returns.
The first ^M is in capitals and the second
in lowercase (though it appears as
uppercase - wierd)This worked.

![]() |
![]() |
![]() |

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.
| Ads by Google |