Estás mirando la versión 3 de mi sitio web, para ver la última versión por favor anda a juque.cl

juque

Juan Pablo Aqueveque: Ingeniero de Sistemas, Diseñador y Desarrollador Web que reside en Temuco, Chile.

Saltos de línea en Unix, Mac y DOS: Eliminando el ^M

Publicado por Juan Pablo el 13.Abr.2005 | Comentarios (5)

La historia cuenta que las antiguas máquinas de teletipos utilizaban dos caracteres para iniciar una nueva línea. Una que movía el retorno de carro (Carriage Return - CR) a la primera línea y otra que movía el papel hacia arriba (Line Feed - LF).

Al momento de irrumpir los computadores en el mundo el gran problema era el espacio de almacenamiento, había que maximizarlo lo más posible, la gente de UNIX decidió no utilizar dos caracteres para el fin de la línea, ellos sólo definieron esto con un caracter, LF. Apple en cambio, utilizó el CR. El antiguo MS-DOS y por supuesto Microsoft Window decidió mantener el antiguo CR y LR.

La consecuencia de esta poca estandarización es que cada vez que trabajas con un archivo que fue creado en otro sistema operativo (que no sea Windows) se producen problemas con el fin de línea.

Mi PC tiene Window 2000 y veo un archivo Unix así:

Hola, mi nombre es archivo.txt^M
y quiero decirte que mis^M
usuarios tiene muchos^M

problemas ^M
manipulandome^M

Y el mismo archivo venido de una máquina Mac yo lo veo así:

	
  • Hola, mi nombre es archivo.txt^My quiero decirte que mis^Musuarios tiene muchos^Mproblemas ^Mmanipulandome^M
  • Se puede ver claramente las diferencias entre ambos archivos, el Unix tiene 7 línea y el Mac sólo una, recuerda que mi computador usa Windows 2000.

    ¿Qué podemos hacer para eliminar ese molesto ^M usando Vim y dejar el archivo más legible?, así:

    Enlace Permanente, Comentarios (5), Publicada en: Vim

    Comentarios

    1. PaRaP
    14.Abr.2005

    Con Emacs:

    M-% C-q INTRO INTRO INTRO !

    ;)

    saludos

    2. konus
    14.Abr.2005

    Nice...

    Me Actualicé! [www.konus.cl] saludos

    3. konus
    15.Abr.2005

    Acaso 'dos2unix' del package *sysutils* no hace eso?

    Me asalta esa duda...

    4. juque
    15.Abr.2005

    Sí, esa es otra alternativa pero la idea del tip era usar Vim para solucionar el problema.

    5. framirez
    17.Abr.2005

    mcedit archivo :)