Como remover Ctrl-M de arquivos onde dos2unix, perl, tr e sed não estão presentes?

Como remover Ctrl-M de arquivos onde dos2unix, perl, tr e sed não estão presentes?

Suponha que você esteja trabalhando em um servidor unix muito antigo onde dos2unix, perl, tre sednão estejam presentes. Como você pode converter arquivos dedosparaunixformatar?

Responder1

Acho que você está se referindo à remoção do cursor-M no final das linhas. Você pode usar pesquisar e substituir no vi para fazer isso.

No vi eu normalmente faço: (onde "^" representa CTRL):

:%s/^V^M//g

Que aparece na tela como:

:%s/^M//g

Responder2

Um servidor sem trou sedteria que ser muito antigo, ou faltando alguns comandos básicos. Espero que edesteja lá; existia emPrimeira edição Unix.

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

onde ^V^Msignifica digitar Ctrl+ Ve depois Ctrl+ M(para inserir um feed de linha literal). Se você sabe que todas as linhas terminam em CR LF, você pode usar 1,$s/.$//(remover indiscriminadamente o último caractere de cada linha).

informação relacionada