Si un archivo fue escrito en un sistema basado en Windows y es abierto por un editor de texto en un sistema UNIX, es muy común que los caracteres «Ctrl-M» (^M) se muestren al final de cada línea de texto. Si un archivo fue escrito en un sistema UNIX y abierto por un editor de texto en un sistema Windows, es posible que el carácter de salto de línea (EOL) no se muestre correctamente. El carácter de retorno de carro también es diferente para UNIX y Windows.
Al tratar con archivos, no querrá estar limitado por si el archivo fue creado en Linux o Windows. Entonces, ¿cómo convertir un archivo de UNIX a Windows (o viceversa) sin que el formato se vuelva loco? Te guiaremos por los escalones.
Conversión de archivos de formato Linux/UNIX a formato Windows
Si está utilizando un sistema basado en UNIX para transferir los archivos a un sistema Windows, hay algunos comandos que le permiten convertir los archivos de texto que está transfiriendo a un formato que Windows pueda entender.
El comando dos2unix y unix2dos
Puede utilizar la línea de comandos para convertir de forma segura archivos de UNIX a Windows y viceversa. Para convertir un archivo de texto de Windows en un archivo de texto de UNIX, introdúzcalo:
dos2unix windows.txt unix.txt
El comando anterior convierte y reemplaza el archivo «windows.txt» a «unix.txt» Para convertir un archivo de texto UNIX en un archivo de texto de Windows, introduzca este comando:
unix2dos unix.txt windows.txt
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
El comando anterior convertirá un archivo de texto creado en UNIX llamado «unix.txt» en un archivo de texto compatible con Windows llamado «windows.txt».
El comando awk
El comando awk también le permite convertir un archivo de UNIX a Windows y viceversa. Para convertir un archivo de Windows en un archivo UNIX, introduzca el siguiente comando:
awk { sub("r$", ""); print } windows.txt> unix.txt
Para convertir un archivo de texto UNIX llamado «unix.txt» a un archivo de texto de Windows llamado «windows.txt», introduzca el siguiente comando:
awk sub("$", "r") uniz.txt> windows.txt
El comando tr
El comando tr (transliterar) puede utilizarse para eliminar los caracteres de retorno de carro y los caracteres «Ctrl-Z» de un archivo de Windows. Esto sólo se puede hacer si está convirtiendo un archivo de Windows a UNIX. El comando se escribirá como sigue:
tr -d ``1532 unixfile.txt
El comando tr transluce un carácter con otro. En este caso, le ayuda a omitir caracteres innecesarios.
Uso del Editor visual (Vi)
Si utiliza el Editor visual para ver un archivo creado en un sistema Windows, puede eliminar los caracteres de retorno de carro escribiendo la siguiente línea de comandos:
:1,$s/^M//g
Para que el ordenador introduzca el carácter ^M, debe pulsar «Ctrl + v» y luego pulsar Return.
Uso de programas de protocolo de transferencia de archivos
Los programas de Protocolo de Transferencia de Archivos (FTP) están disponibles tanto para sistemas UNIX como Windows. Si necesita convertir muchos archivos de Windows a UNIX (o al revés), entonces es una buena idea descargar un programa FTP. Hay muchos disponibles gratuitamente en Internet. El Hummingbird FTP es uno de los programas FTP más populares que existen. Es seguro y fácil de usar.
La mayoría de los programas FTP transfieren archivos de UNIX a Windows en formato ASCII. A veces tiene que especificar el formato para usted mismo (si está usando programas FTP basados en línea de comandos). Para ello, sólo tienes que introducirlo en la línea de comandos:
ascii
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Conclusión
La forma más fácil de convertir un archivo de un formato UNIX a Windows (y viceversa) es utilizar un programa FTP. Los comandos de conversión son la siguiente mejor opción. Si está buscando comandos adicionales que realicen la misma tarea, puede buscar comandos perl y sed. Sin embargo, tenga en cuenta que estos comandos pueden no funcionar en todos los sistemas.