¿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-2025 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:  

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.


Dona a través de paypal::


O a través de bitcoins:


14TNQv5wM3xkSv65gHGQ6s6f8yTZuFTohE
Más artículos de LinuxTotal

Linux es un sistema multiusuario, por lo tanto, la tarea de añadir, modificar, eliminar y en general administrar usuarios se conv....


Cuando usas rm para eliminar o borrar un archivo, lo que realmente sucede es que los datos del archivo, su información tal cual, ....


Sistemas basados en GNU/Linux (Al igual que sus parientes basados en Unix como BSD o los de Macinstosh) conservan la tradición de....


Ya no es nada raro que un centro de cómputo o en un site se encuentren varios sistemas Linux actuando como servidores de archivos....


Para Linux todo es un archivo, incluyendo dispositivos como discos duros, cdroms, disquetes, unidades de cinta, memorias usb, etc.....


Administración básica de redes. Conoce distintos métodos y herramientas para escanear, probar o buscar por puertos abiertos des....


Este es un pequeño y útil tip que te permitirá crear PDF's a partir de páginas del manual. Cuando deseas ver la ayuda de un co....


Una de las dificultades con una base de datos MySQL grande y activa es la de realizar respaldos limpios sin tener que desconectar ....


En linux cualquier comando (o cualquier cosa) que se teclea se le conoce como que está utilizando la entrada estándar [STDIN]. L....


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



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