domingo, 3 de abril de 2016

Cómo eliminar los caracteres Ctrl+M (^M) en Linux



Estoy trabajando en un curso de Ruby y al descargar uno de los ficheros del proyecto final de curso, lo descarga en el formato de Windows, de modo que veo al final de cada línea el carácter ^M.

Es verdad que todo funciona bien pero es un tanto incómodo cuando estoy editando el código.
De modo que quiero eliminar todos estos caracteres molestos.

Seguramente hayan formas más elegantes de resolver este problema, pero yo he optado por el editor vi, que viene pre-instalado en todos los sistemas Linux, con independencia de la distribución que tengas instalada.

Para ello, abre el fichero con vi, y escribe en su línea de comando :%s/^M//g
Lo que le estamos diciendo es que sustituya en todo el documento el carácter ^M por nada.


¿Cómo escribo ^M en vi? Pues pulsa Ctrl+C+V, es decir, pulsa Ctrl+C y sin soltar la tecla Ctrl, pulsa V. 
Fichero de código con los caracteres ^M



En la línea de comandos de vi, escribimos :%s/^M//g



El problema queda resuelto. Guardamos los cambios con :w