
Предположим, вы работаете на очень старом сервере unix, где dos2unix
, perl
, tr
, и sed
отсутствуют. Как можно преобразовать файлы издоскюниксформат?
решение1
Я думаю, вы имеете в виду удаление каретки-M в конце строк. Вы можете использовать поиск и замену в vi, чтобы сделать это.
В vi я обычно делаю: (где «^» обозначает CTRL):
:%s/^V^M//g
Что отображается на экране как:
:%s/^M//g
решение2
Сервер без tr
или sed
должен быть очень старым или отсутствовать некоторые основные команды. Надеюсь, ed
есть; он существовал вПервое издание Unix.
ed /path/to/file
1,$s/^V^M$//
w
q
где ^V^M
означает ввод Ctrl+, Vа затем Ctrl+ M(чтобы ввести буквальный перевод строки). Если вы знаете, что все строки заканчиваются на CR LF, вы можете использовать 1,$s/.$//
вместо этого (без разбора удалить последний символ в каждой строке).