Конвертиране на DOS / UNIX и обратно

Има няколко помощни програми за преобразуване на текстови файлове от UNIX или Linux в DOS операционни системи и обратно; Въпреки това, винаги помага да се знае ръчното преобразуване. В езиците за програмиране на черупки като UNIX или Linux текстовите файлове завършват с нов оператор на линия "n", известен още като линията и неговият ASCII код е 0A. Текстовият файл на DOS завършва ред с връщане на каретата или ключ за въвеждане "r": неговият ASCII код е 0D. Редовете в DOS завършват с CRLF или с "r". За да конвертирате този DOS текст в UNIX или Linux, изтрийте "R"; можете също да използвате ASCII кодове, ако използвате GNU-sed версия. От UNIX до DOS можете да добавите "r" или да използвате символите GNU-sed символично, като използвате ASCII кодовете.

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 /' файла 
Предишна Статия Следваща Статия

Топ Съвети