¿Cómo eliminar Ctrl-M de archivos donde dos2unix, perl, tr y sed no están presentes?

¿Cómo eliminar Ctrl-M de archivos donde dos2unix, perl, tr y sed no están presentes?

Suponga que está trabajando en un servidor Unix muy antiguo donde dos2unix, perl, try sedno 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 tro sedtendría que ser muy antiguo o faltar algunos comandos básicos. Ojalá edesté ahí; existió enPrimera edición de Unix.

ed /path/to/file
1,$s/^V^M$//
w
q

donde ^V^Msignifica 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).

información relacionada