¿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-2024 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.


Dona a través de paypal::


O a través de bitcoins:


14TNQv5wM3xkSv65gHGQ6s6f8yTZuFTohE
Más artículos de LinuxTotal

Si ya has usado la línea de comandos o shell de Linux por un tiempo, seguramente entonces, el comando date ya te es familiar, lo ....


En ambientes donde varios usuarios usan uno o más sistemas GNU/Linux, es necesario otorgar distintos permisos o privilegios para ....


El siguiente script te presenta la manera de colocar un reloj (hora y fecha) en la parte superior derecha de una terminal de texto....


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


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


Eventualmente, mientras más se aprende a usar la línea de comandos y a realizar shell scripts, en alguno de estos scripts necesi....


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


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


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


¿Has visto esa combinación de r,w,x,- cuando listas un directorio?, tienes cierta idea que son los permisos, pero ¿como se usan....



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