User Tools

Site Tools


howtos:remove_m_characters_from_file

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

howtos:remove_m_characters_from_file [d/m/Y H:i] (current)
Line 1: Line 1:
 +===== In VI =====
 +
 +To remove the ^M characters at the end of all lines in vi, use:
 +
 +<​code>​
 +:%s/^V^M//g
 +</​code>​
 +
 +The ^v is a CONTROL-V character and ^m is a CONTROL-M. When you type this, it will look like this:
 +
 +<​code>​
 +:%s/^M//g
 +</​code>​
 +
 +In UNIX, you can escape a control character by preceeding it with a CONTROL-V. The :%s is a basic 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).
 +
 +Another way to get rid of those ^M's:
 +
 +<​code>​
 +:%s/\r//g
 +</​code>​
 +
 +===== Using col =====
 +
 +<​code>​
 +cat old.file | col -b > new.file
 +</​code>​
 +
 +===== Using tr =====
 +
 +<​code>​
 +tr -d '​\r'​ <​old.file > new.file
 +</​code>​
 +
 +You can also use the octal representatiion of ^M. The following gets rid of control-M as well as control-Z (DOS eof marker):
 +
 +<​code>​
 +tr -d '​\015\032'​ < file
 +</​code>​
 +
 +
 +
 +----
 +
 +Source: http://​www.tech-recipes.com/​rx/​150/​remove-m-characters-at-end-of-lines-in-vi/​
  
howtos/remove_m_characters_from_file.txt · Last modified: d/m/Y H:i (external edit)