Los caracteres ^M (control M) ocurre por el CR(carriage return, retorno de carro) de MS-DOS y el EOF (end of line, final de linea) de UNIX.
Como siempre, según la distribución de unix que tengamos tenemos varios métodos.
Editar el fichero con vi:
Poniendo estos parametros :%s/<Ctrl-V><Ctrl-M>// quitaremos los ^M. Sustituimos en todas las lineas (%s) y <Ctrl-V><Ctrl-M> para el caracter ^M y lo sustituimos por nada
:%s/<Ctrl-V><Ctrl-M>//
Editar el fichero con sed:
Sed es un editor de flujo para los ficheros, ya suele venir instalado por defecto en los unix. Con este comando solventamos el problema.
sed 's/<Ctrl-V><Ctrl-M>//' ficheroCR >ficheroEOF
Comandos unix2dos y dos2unix:
Estos comandos como indican convierten un fichero de un sistema a otro. Dependiendo de la distribución de unix puede que los tengas o no. Lo más seguro es que tengas que instalarlos y si conviertes archivos de pascuas a ramos, quizá no te sea necesario y puedas probar con las otras dos opciones.
unix2dos ficheroPasar el fichero con EOF a CR
dos2unix ficheroPasan el fichero de CR a EOF.
No hay comentarios:
Publicar un comentario