Конвертиране на DOS / UNIX и обратно
Intro
Въпреки че съществуват (dos2unix и unix2dos) помощни програми, способни да изпълняват тази задача, ето един прост съвет как да направите тези функции ръчно.
Конвертиране на DOS в UNIX / UNIX в DOS
Текстовите файлове под Unix завършват редовете си със символа "n" (наречен Line Feed и отбелязват LF, ASCII код = 0A).
Текстови файлове под DOS с "ред", завършване на тяхната линия със символа "r" (наричан "Return Return" и отбелязан CR, ASCII 0D).
По този начин всеки ред в DOS файла завършва с CRLF последователност или r \ t
Преход от DOS към UNIX
Просто изтрийте "r" (връщане на каретката) в края на линията.
"R" е символично представен от "^ M", който се получава от следната последователност от клавиши "CTRL-V" + "CTRL-M".
sed 's / ^ M $ //' файл
Забележка:
С версията GNU-sed (gsed 3.02.80) можем да използваме ASCII нотацията:
sed 's / 0D $ //' файл
Преобразуване от UNIX в DOS
Просто направете обратното на предишната команда, а именно ("^ M" се въвежда по същия начин (CTRL-V + CTRL-M)):
sed 's / $ / ^ M /' файл
Забележка:
С версията GNU-sed (gsed 3.02.80), можем да използваме символичната нотация "r": \ t
sed 's / $ / r /' файла