jueves, 6 de marzo de 2014

Windows y el retorno de carro

En ocasiones los diferentes comportamientos de los sistemas operativos nos causan algunos problemillas. Como es bien sabido, Windows domina el mercado, y eso nos supone a los usuarios de Linux que tenemos que llevar todo nuestro material preparado para "otro" SO, ya que raramente encontraremos dispositivos con el nuestro. En general eso no es ningún problema, ya que es algo que llevamos siempre en mente, pero en ocasiones tenemos algunos "olvidos".
En este caso, aparte de la presentación habitual, transformada a PDF y proyectada por impressive, para evitar alteraciones de fuentes y descolocación de imágenes, llevaba ficheros de texto plano con comandos de R. La intención de llevar texto plano era que siempre en más seguro copiar los comandos desde un programa básico de texto plano y pegarlos en R que hacerlo desde un tratamiento de textos más complejo, ya que puede alterar algunos caracteres (comillas, por ejemplo). Como bien sabemos, Windows introduce un carácter de retorno de carro antes del que indica cambio de línea (CR + LF), como hacen Linux y Mac OS (LF). Eso significa que cuando se lee un fichero de texto plano de origen Linux en un bloc de notas sale algo parecido a esto (imagen forzada, pero nos sirve para la explicación)


Y así  es como que quedó a mi la lista de comandos cuando la quise enseñar. Y así la estaban viendo los alumnos en sus dispositivos. Para solucionar el problema la preparé para que llevara los comandos adecuados (CR + LF).
¿Cómo realicé el cambio? Lo intenté inicialmente mediante el comando sed (ver aquí más información), pero por alguna razón no me funcionaba, así que recurrí a unix2dos (que realmente está incluido en el paquete dos2unix). Simplemente instalamos el paquete

su -c 'yum install dos2unix'
   palabra admin

y aplicamos

unix2dos -n ficheroprevio.txt fichero nuevo.txt

y ya está. Fácil.


Más fácil sería si no me hubiera olvidado de estas cosas, que saberlas las sé, al menos algunas.




2 comentarios:

  1. Algo parecido sucede con las vocales acentuadas (á, é, í, ó, ú). Esto se debe a que Linux utiliza UTF-8 para la codificación de caracteres, y Windows su propio sistema de codificación: Windows-1252.
    Molesta bastante abrir un archivo de texto plano creado en Windows con 'less' o 'vi' y comprobar que las vocales acentuadas han sido sustituidas por sus correspondientes códigos.

    Un saludo.

    ResponderEliminar
    Respuestas
    1. Aun más. En ocasiones, tras haber realizado alguna estadística encargada por usuarios de windows, simplemente copio el terminal y lo mando como texto plano guardado en gedit. Al abrirlo con el bloc de notas aparece un conjunto de caracteres incomprensibles (me dicen que envío los resultados en chino). La única solución es abrir con wordpad. Aun no sé que problema presenta esos ficheros.

      Eliminar