¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal


Cinco Tips para convertir documentos de MSDOS/Windows a Linux 

Copyright © 2005-2017 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

Autor: Sergio González D.  

Cuando tu creas un documento de texto en MSDOS/Windows (como por ejemplo en notepad.exe), Windows añade al final de cada línea un retorno de carro CR (carriage return) y un salto de línea LF (line feed). Y después, digamos que creaste un shell script o un programa en C, te llevas ese documento a Linux o Unix, pues no va a funcionar ya que el formato Linux/Unix es solo un LF al final de cada línea. El típico error que resulta al tratar de ejecutarlo es el siguiente:

bash: ./programa.txt: /bin/bash^M: bad interpreter: No existe el fichero o el directorio

Donde se lee: "/bin/bash^M", es la parte que nos indica que hay tanto CRs como LFs al final de cada línea. Claro podrías abrir el documento en vi o cualquier editor de Linux y eliminarlas manualmente, pero mejor te presento a continuación 5 tips para deshacerte de esas molestas '^M'.


Usando vi

Con vi or vim estando en modo de última línea ':', introduce lo siguiente

:1,$ s/{ctrl-V}{ctrl-M}//      

:1,$ s/^M//

Esto es, desde la primera línea hasta la última '$' sustituye 's' ^M por nada. Y listo. (Puedes consultar la guía vi para entender más sobre esto.)


Usando sed

Con sed se trabaja de una manera similar a la anterior, pero sed trabaja en una base de línea por línea, asi que buscamos el último caracter de cada línea y lo sustituimos por nada:

$> sed -e 's/.$//' dos.txt > linux.txt

La opción 'e' indica que continua una expresión, la 's' substituye lo que este al final de la línea '$', y lo reemplaza con nada '//'. 'dos.txt' es el archivo original y la salida del comando, esto es, la eliminación de los caracteres indeseables se redirecciona '>' al nuevo archivo 'linux.txt' ya con el formato apropiado.


Usando dos2unix

Este es el mejor y más simple, el comando dos2unix convierte archivos de, mmmm, bueno simple no, de dos a unix/linux.

$> dos2unix archivo.txt

El archvio queda con el mismo nombre pero ya con el formato apropiado. Simple y sencillo. La mejor opción para este trabajo.

Usando notepad++

Seamos realistas, la mayoría de la gente, enorme mayoría usan Windows, algunos más, otros (me incluyo afortunadamente :) mucho menos. Pero lo usamos, bueno, si es el caso, no uses notepad o word, bájate mejor este poderoso editor multilenguaje, que te permitira hacer tus shell scripts, javascript, PHP, html, C, etc. y guardarlo en formato Linux/Unix, listo para ejecutarse como si lo hubieras escrito directo en Linux. Pruébalo, muy recomendable.


No usando Windows

El quinto y último tip: NO USES PROGRAMAS BASADOS EN WINDOWS PARA ESCRIBIR ARCHIVOS QUE VAS A EJECUTAR EN LINUX.



¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal

LinuxTotal en:

Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.

Más artículos de LinuxTotal

Uno de mis clientes tiene múltiples aplicaciones basadas en VisualBasic 6 y como base de datos Access, que se ejecutan directamen....


Como formatear disketes o floppies en Linux.....


Si se tiene un servidor ssh al que seguramente se conectan clientes desde otros equipos Linux o Windows con clientes de ssh como p....


...quien resuelve los nombres de dominio a su correspondiente IP, sería el DNS del proveedor, pero si implementamos un DNS Cache,....


Aqui, traté de enviar un archivo ejecutable (notepad.exe) a través de gmail, y sus mecanismos de seguridad me lo impidieron. Gma....


El comando find de Linux es extremadamente potente. No hay nada mejor para hacer todo tipo de búsquedas de archivos y carpetas qu....


Hay ocasiones que los usuarios insisten en poner contraseñas muy débiles de 5 o 6 caracteres a lo más. Y el argumento que dan e....


Hoy en día los usuarios de Windows y Linux tenemos múltiples formas de combinarlos en el mismo equipo. Ya sea que uses el tradic....


En Linux existen tres formas de controlar y mostrar la marca del tiempo en archvios y directorios. Asi es, cuando creas o editas u....


Linux ofrece multitud de servicios o servidores, estos pueden iniciar o arrancar junto con la carga del sistema o pueden después ....



Copyright © LinuxTotal.com.mx 2006-2017
info@linuxtotal.com.mx · linuxtotal.com.mx@gmail.com