
Suponga que está trabajando en un servidor Unix muy antiguo donde dos2unix
, perl
, tr
y sed
no están presentes. ¿Cómo puedes convertir archivos dedosaUnix¿formato?
Respuesta1
Creo que te refieres a eliminar la M al final de las líneas. Puede utilizar buscar y reemplazar en vi para hacer esto.
En vi normalmente hago: (donde "^" representa CTRL):
:%s/^V^M//g
Que se muestra en la pantalla como:
:%s/^M//g
Respuesta2
Un servidor sin tr
o sed
tendría que ser muy antiguo o faltar algunos comandos básicos. Ojalá ed
esté ahí; existió enPrimera edición de Unix.
ed /path/to/file
1,$s/^V^M$//
w
q
donde ^V^M
significa escribir Ctrl+ Vy luego Ctrl+ M(para ingresar un salto de línea literal). Si sabe que todas las líneas terminan en CR LF, puede usar 1,$s/.$//
en su lugar (eliminar indiscriminadamente el último carácter de cada línea).