Cómo arreglar saltos de línea en archivos de texto usando Dos2Unix y Unix2Dos

¿Alguna vez ha enviado un archivo de texto creado en un sistema Linux a alguien y le ha hecho quejarse de que no se veía bien en macOS o Windows? Eso puede deberse a que estos sistemas manejan los finales de línea de manera diferente. Afortunadamente, esto es fácil de solucionar con un par de utilidades: Dos2Unix y Unix2Dos.

¿Cuál es el problema con los finales de línea?

Una diferencia entre Windows y Linux que puede dificultar el intercambio de archivos es la forma en que cuentan los finales de línea. Esto se remonta a los días en que las computadoras usaban máquinas de teletipo para entrada y salida, que eran efectivamente máquinas de escribir automáticas.

Un salto de línea, también llamado salto de línea, avanza el papel una línea y el retorno de carro se mueve al principio de la línea. Las interfaces de línea de comandos llevan esta convención de interpretar nuevas líneas.

Windows heredó la convención de MS-DOS de contar una nueva línea y un retorno de carro como una línea, mientras que Linux, a su vez, llevó la tradición de Unix de simplemente contar nuevas líneas como también nuevas líneas.

La mayoría de las veces, los editores de texto son lo suficientemente inteligentes como para poder detectar archivos creados en diferentes sistemas y ajustar la pantalla en consecuencia, pero aún puede tener problemas ocasionalmente. Puede intentar ejecutar un script y el intérprete puede arrojar un error porque espera que las líneas terminen de manera diferente.

Usando Dos2Unix y Unix2Dos

Afortunadamente, hay un par de utilidades que le permiten convertir finales de línea en archivos entre formatos. Se llaman Dos2Unix y Unix2Dos .

Aunque estas utilidades son comunes en muchas instalaciones de Linux, si no están instaladas en su sistema, puede descargarlas usando el administrador de paquetes predeterminado.

Para convertir un archivo creado en un sistema Windows a Linux, use dos2unix :

 dos2unix file

… donde archivo es el nombre del archivo que desea convertir. Este programa convertirá el archivo de las nuevas líneas de DOS a las de Unix en su lugar, como sugiere el nombre. Si desea convertir una copia del archivo, use la opción -n :

 dos2unix -n file1 file2

… donde archivo1 y archivo2 son los nombres del archivo original y del archivo de salida . El comando unix2dos funciona de la misma manera y toma los mismos argumentos.

Una opción alternativa es usar un editor de texto en Linux o Windows para convertir archivos, ya que también pueden detectar y cambiar el comportamiento del final de línea.

Relacionado: Unix vs Linux: las diferencias entre y por qué es importante

Ahora sus archivos de texto se ven bien en cualquier sistema

Con este par de utilidades, puede asegurarse de que cualquier archivo de texto funcione en Windows o Linux. Arreglar nuevas líneas ahora es más fácil que nunca con dos2unix y unix2dos.

En el mundo real, los usuarios de Linux y Windows a menudo necesitan compartir archivos. Afortunadamente, es muy fácil hacerlo en estos días.